Mock Version: 2.2 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/epel-8-x86_64-1588631585.076544/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=0uid=1001gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.fp8qmt83:/etc/resolv.conf', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=True) Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.fp8qmt83:/etc/resolv.conf', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '5803aa5bfe0148f492de877f9d4d5d6b', '-D', '/var/lib/mock/epel-8-x86_64-1588631585.076544/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.fp8qmt83:/etc/resolv.conf', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0'} and shell False Building target platforms: x86_64 Building for target x86_64 Wrote: /builddir/build/SRPMS/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'], chrootPath='/var/lib/mock/epel-8-x86_64-1588631585.076544/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=timeout=0uid=1001gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.fp8qmt83:/etc/resolv.conf', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=True) Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.fp8qmt83:/etc/resolv.conf', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11'] Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'e2536b74325942608042495571977be7', '-D', '/var/lib/mock/epel-8-x86_64-1588631585.076544/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.fp8qmt83:/etc/resolv.conf', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=PS1= \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target x86_64 --nodeps /builddir/build/SPECS/openstack-ironic.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0'} and shell False Building target platforms: x86_64 Building for target x86_64 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.s2HLHb + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf ironic-13.0.3.dev5 + /usr/bin/gzip -dc /builddir/build/SOURCES/ironic-13.0.3.dev5-0.20191217040142.3e39d7b.tar.gz + /usr/bin/tar -xof - + STATUS=0 + '[' 0 -ne 0 ']' + cd ironic-13.0.3.dev5 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + echo 'Patch #1 (0001-Correct-handling-of-ramdisk_params-in-i-PXE-boot.patch):' Patch #1 (0001-Correct-handling-of-ramdisk_params-in-i-PXE-boot.patch): + /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0 patching file ironic/common/pxe_utils.py patching file ironic/drivers/modules/agent_config.template patching file ironic/drivers/modules/ipxe.py patching file ironic/drivers/modules/ipxe_config.template patching file ironic/drivers/modules/pxe.py patching file ironic/drivers/modules/pxe_config.template patching file ironic/drivers/modules/pxe_grub_config.template patching file ironic/tests/unit/common/test_pxe_utils.py patching file ironic/tests/unit/drivers/ipxe_config.template patching file ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template patching file ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template patching file ironic/tests/unit/drivers/ipxe_config_timeout.template patching file ironic/tests/unit/drivers/modules/test_ipxe.py patching file ironic/tests/unit/drivers/modules/test_pxe.py patching file ironic/tests/unit/drivers/pxe_config.template patching file ironic/tests/unit/drivers/pxe_grub_config.template Patch #2 (0002-Backward-compatibility-for-the-ramdisk_params-change.patch): + echo 'Patch #2 (0002-Backward-compatibility-for-the-ramdisk_params-change.patch):' + /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0 patching file ironic/drivers/modules/ipxe.py patching file ironic/drivers/modules/pxe.py patching file releasenotes/notes/ramdisk-params-6083bfaa7ffa9dfe.yaml Patch #3 (0003-Foundation-for-boot-network-management-for-in-band-i.patch): + echo 'Patch #3 (0003-Foundation-for-boot-network-management-for-in-band-i.patch):' + /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0 patching file ironic/common/utils.py patching file ironic/conf/inspector.py patching file ironic/drivers/base.py patching file ironic/drivers/modules/inspector.py patching file ironic/drivers/modules/network/noop.py patching file ironic/tests/unit/drivers/modules/test_inspector.py patching file releasenotes/notes/inspection-boot-network-59fd23ca62b09e81.yaml Patch #4 (0004-Wire-in-in-band-inspection-for-PXE-boot-and-neutron-.patch): + echo 'Patch #4 (0004-Wire-in-in-band-inspection-for-PXE-boot-and-neutron-.patch):' + /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0 patching file ironic/common/neutron.py patching file ironic/conf/neutron.py patching file ironic/drivers/modules/ipxe.py patching file ironic/drivers/modules/network/common.py patching file ironic/drivers/modules/network/flat.py patching file ironic/drivers/modules/network/neutron.py patching file ironic/drivers/modules/pxe.py patching file ironic/tests/unit/drivers/modules/network/test_flat.py patching file ironic/tests/unit/drivers/modules/network/test_neutron.py patching file ironic/tests/unit/drivers/modules/network/test_noop.py patching file ironic/tests/unit/drivers/modules/test_ipxe.py patching file ironic/tests/unit/drivers/modules/test_pxe.py patching file releasenotes/notes/inspector-pxe-boot-9ab9fede5671097e.yaml Patch #5 (0005-redfish-vmedia-correctly-pass-ipa-debug.patch): + echo 'Patch #5 (0005-redfish-vmedia-correctly-pass-ipa-debug.patch):' + /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0 patching file ironic/drivers/modules/redfish/boot.py patching file ironic/tests/unit/drivers/modules/redfish/test_boot.py + echo 'Patch #6 (0006-Implement-managed-in-band-inspection-boot-for-redfis.patch):' Patch #6 (0006-Implement-managed-in-band-inspection-boot-for-redfis.patch): + /usr/bin/patch --no-backup-if-mismatch -p1 --fuzz=0 patching file ironic/drivers/modules/redfish/boot.py patching file ironic/tests/unit/drivers/modules/redfish/test_boot.py patching file releasenotes/notes/redfish-managed-inspection-936341ffa8e1f22a.yaml + sed -i 's/^warning-is-error.*/warning-is-error = 0/g' setup.cfg + rm -rf driver-requirements.txt requirements.txt test-requirements.txt + sed -i /tempest/d setup.cfg + rm -rf ironic_tempest_plugin + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.PIvaKf + umask 022 + cd /builddir/build/BUILD + cd ironic-13.0.3.dev5 ++ '[' -f _current_flavor ']' ++ true + python_flavor= + '[' -z '' ']' + python_flavor=tmp + '[' tmp '!=' python3 ']' + '[' -d build ']' + '[' -d _build.python3 ']' + echo python3 + /usr/bin/python3 setup.py build '--executable=/usr/bin/python3 -s' running build running build_py creating build creating build/lib creating build/lib/ironic creating build/lib/ironic/tests creating build/lib/ironic/tests/unit creating build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/__init__.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/mgr_utils.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_allocations.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_base_manager.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_manager.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_notification_utils.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_rpcapi.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_steps.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_task_manager.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_utils.py -> build/lib/ironic/tests/unit/conductor creating build/lib/ironic/tests/unit/drivers creating build/lib/ironic/tests/unit/drivers/modules creating build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/tests/unit/drivers/modules/intel_ipmi/base.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi creating build/lib/ironic/common creating build/lib/ironic/common/glance_service copying ironic/common/glance_service/__init__.py -> build/lib/ironic/common/glance_service copying ironic/common/glance_service/image_service.py -> build/lib/ironic/common/glance_service copying ironic/common/glance_service/service_utils.py -> build/lib/ironic/common/glance_service creating build/lib/ironic/drivers creating build/lib/ironic/drivers/modules creating build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/boot.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/__init__.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/bios.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/inspect.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/management.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/power.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/utils.py -> build/lib/ironic/drivers/modules/redfish creating build/lib/ironic/drivers/modules/ansible copying ironic/drivers/modules/ansible/__init__.py -> build/lib/ironic/drivers/modules/ansible copying ironic/drivers/modules/ansible/deploy.py -> build/lib/ironic/drivers/modules/ansible copying ironic/drivers/base.py -> build/lib/ironic/drivers copying ironic/drivers/__init__.py -> build/lib/ironic/drivers copying ironic/drivers/drac.py -> build/lib/ironic/drivers copying ironic/drivers/fake_hardware.py -> build/lib/ironic/drivers copying ironic/drivers/generic.py -> build/lib/ironic/drivers copying ironic/drivers/hardware_type.py -> build/lib/ironic/drivers copying ironic/drivers/ibmc.py -> build/lib/ironic/drivers copying ironic/drivers/ilo.py -> build/lib/ironic/drivers copying ironic/drivers/intel_ipmi.py -> build/lib/ironic/drivers copying ironic/drivers/ipmi.py -> build/lib/ironic/drivers copying ironic/drivers/irmc.py -> build/lib/ironic/drivers copying ironic/drivers/redfish.py -> build/lib/ironic/drivers copying ironic/drivers/snmp.py -> build/lib/ironic/drivers copying ironic/drivers/utils.py -> build/lib/ironic/drivers copying ironic/drivers/xclarity.py -> build/lib/ironic/drivers creating build/lib/ironic/db creating build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/__init__.py -> build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/api.py -> build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/migration.py -> build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/models.py -> build/lib/ironic/db/sqlalchemy creating build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/__init__.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/bios.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/boot.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/common.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/inspect.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/management.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/power.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/raid.py -> build/lib/ironic/drivers/modules/irmc copying ironic/tests/unit/drivers/__init__.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_base.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_drac.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_fake_hardware.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_generic.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_ibmc.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_ilo.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_ipmi.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_irmc.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_redfish.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_snmp.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_utils.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_xclarity.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/third_party_driver_mock_specs.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/third_party_driver_mocks.py -> build/lib/ironic/tests/unit/drivers creating build/lib/ironic/tests/unit/api creating build/lib/ironic/tests/unit/api/controllers creating build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/__init__.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_allocation.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_chassis.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_conductor.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_deploy_template.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_driver.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_event.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_expose.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_node.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_notification_utils.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_port.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_portgroup.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_ramdisk.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_root.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_types.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_utils.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_versions.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume_connector.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/tests/unit/api/controllers/v1/test_volume_target.py -> build/lib/ironic/tests/unit/api/controllers/v1 copying ironic/drivers/modules/pxe.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ipxe.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/inspector.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/__init__.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent_base_vendor.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent_client.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/boot_mode_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/console_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/deploy_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/fake.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/image_cache.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/inspect_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ipmitool.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/iscsi_deploy.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/noop.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/noop_mgmt.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe_base.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/snmp.py -> build/lib/ironic/drivers/modules creating build/lib/ironic/api creating build/lib/ironic/api/controllers copying ironic/api/controllers/__init__.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/base.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/link.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/root.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/version.py -> build/lib/ironic/api/controllers creating build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/__init__.py -> build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/cinder.py -> build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/external.py -> build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/noop.py -> build/lib/ironic/drivers/modules/storage creating build/lib/ironic/hacking copying ironic/hacking/__init__.py -> build/lib/ironic/hacking copying ironic/hacking/checks.py -> build/lib/ironic/hacking creating build/lib/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity copying ironic/tests/unit/drivers/modules/xclarity/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity creating build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/__init__.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_allocation.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_bios.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_chassis.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_conductor.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_deploy_template.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_fields.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_node.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_notification.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_objects.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_port.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_portgroup.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_trait.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_volume_connector.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_volume_target.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/utils.py -> build/lib/ironic/tests/unit/objects creating build/lib/ironic/objects copying ironic/objects/__init__.py -> build/lib/ironic/objects copying ironic/objects/allocation.py -> build/lib/ironic/objects copying ironic/objects/base.py -> build/lib/ironic/objects copying ironic/objects/bios.py -> build/lib/ironic/objects copying ironic/objects/chassis.py -> build/lib/ironic/objects copying ironic/objects/conductor.py -> build/lib/ironic/objects copying ironic/objects/deploy_template.py -> build/lib/ironic/objects copying ironic/objects/fields.py -> build/lib/ironic/objects copying ironic/objects/indirection.py -> build/lib/ironic/objects copying ironic/objects/node.py -> build/lib/ironic/objects copying ironic/objects/notification.py -> build/lib/ironic/objects copying ironic/objects/port.py -> build/lib/ironic/objects copying ironic/objects/portgroup.py -> build/lib/ironic/objects copying ironic/objects/trait.py -> build/lib/ironic/objects copying ironic/objects/volume_connector.py -> build/lib/ironic/objects copying ironic/objects/volume_target.py -> build/lib/ironic/objects copying ironic/common/neutron.py -> build/lib/ironic/common copying ironic/common/utils.py -> build/lib/ironic/common copying ironic/common/pxe_utils.py -> build/lib/ironic/common copying ironic/common/__init__.py -> build/lib/ironic/common copying ironic/common/boot_devices.py -> build/lib/ironic/common copying ironic/common/boot_modes.py -> build/lib/ironic/common copying ironic/common/cinder.py -> build/lib/ironic/common copying ironic/common/components.py -> build/lib/ironic/common copying ironic/common/config.py -> build/lib/ironic/common copying ironic/common/context.py -> build/lib/ironic/common copying ironic/common/dhcp_factory.py -> build/lib/ironic/common copying ironic/common/driver_factory.py -> build/lib/ironic/common copying ironic/common/exception.py -> build/lib/ironic/common copying ironic/common/faults.py -> build/lib/ironic/common copying ironic/common/fsm.py -> build/lib/ironic/common copying ironic/common/hash_ring.py -> build/lib/ironic/common copying ironic/common/i18n.py -> build/lib/ironic/common copying ironic/common/image_service.py -> build/lib/ironic/common copying ironic/common/images.py -> build/lib/ironic/common copying ironic/common/indicator_states.py -> build/lib/ironic/common copying ironic/common/keystone.py -> build/lib/ironic/common copying ironic/common/network.py -> build/lib/ironic/common copying ironic/common/nova.py -> build/lib/ironic/common copying ironic/common/policy.py -> build/lib/ironic/common copying ironic/common/profiler.py -> build/lib/ironic/common copying ironic/common/raid.py -> build/lib/ironic/common copying ironic/common/release_mappings.py -> build/lib/ironic/common copying ironic/common/rpc.py -> build/lib/ironic/common copying ironic/common/rpc_service.py -> build/lib/ironic/common copying ironic/common/service.py -> build/lib/ironic/common copying ironic/common/states.py -> build/lib/ironic/common copying ironic/common/swift.py -> build/lib/ironic/common copying ironic/common/wsgi_service.py -> build/lib/ironic/common creating build/lib/ironic/drivers/modules/intel_ipmi copying ironic/drivers/modules/intel_ipmi/__init__.py -> build/lib/ironic/drivers/modules/intel_ipmi copying ironic/drivers/modules/intel_ipmi/management.py -> build/lib/ironic/drivers/modules/intel_ipmi copying ironic/__init__.py -> build/lib/ironic copying ironic/version.py -> build/lib/ironic creating build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_job.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/drac copying ironic/tests/unit/drivers/modules/drac/utils.py -> build/lib/ironic/tests/unit/drivers/modules/drac creating build/lib/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/__init__.py -> build/lib/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/test_conductor.py -> build/lib/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/test_dbsync.py -> build/lib/ironic/tests/unit/cmd copying ironic/tests/unit/cmd/test_status.py -> build/lib/ironic/tests/unit/cmd creating build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/drivers/modules/redfish/test_utils.py -> build/lib/ironic/tests/unit/drivers/modules/redfish copying ironic/tests/unit/__init__.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/policy_fixture.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/raid_constants.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/stubs.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/test_base.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/api/__init__.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/base.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_acl.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_audit.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_healthcheck.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_hooks.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_middleware.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_ospmiddleware.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_proxy_middleware.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_root.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/utils.py -> build/lib/ironic/tests/unit/api creating build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/test_cinder.py -> build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/drivers/modules/storage/test_external.py -> build/lib/ironic/tests/unit/drivers/modules/storage creating build/lib/ironic/api/middleware copying ironic/api/middleware/__init__.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/auth_token.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/json_ext.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/parsable_error.py -> build/lib/ironic/api/middleware creating build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/base.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/test_utils.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc copying ironic/tests/unit/drivers/modules/ibmc/test_vendor.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc creating build/lib/ironic/conductor copying ironic/conductor/__init__.py -> build/lib/ironic/conductor copying ironic/conductor/allocations.py -> build/lib/ironic/conductor copying ironic/conductor/base_manager.py -> build/lib/ironic/conductor copying ironic/conductor/manager.py -> build/lib/ironic/conductor copying ironic/conductor/notification_utils.py -> build/lib/ironic/conductor copying ironic/conductor/rpcapi.py -> build/lib/ironic/conductor copying ironic/conductor/steps.py -> build/lib/ironic/conductor copying ironic/conductor/task_manager.py -> build/lib/ironic/conductor copying ironic/conductor/utils.py -> build/lib/ironic/conductor creating build/lib/ironic/conf copying ironic/conf/neutron.py -> build/lib/ironic/conf copying ironic/conf/inspector.py -> build/lib/ironic/conf copying ironic/conf/__init__.py -> build/lib/ironic/conf copying ironic/conf/agent.py -> build/lib/ironic/conf copying ironic/conf/ansible.py -> build/lib/ironic/conf copying ironic/conf/api.py -> build/lib/ironic/conf copying ironic/conf/audit.py -> build/lib/ironic/conf copying ironic/conf/auth.py -> build/lib/ironic/conf copying ironic/conf/cinder.py -> build/lib/ironic/conf copying ironic/conf/conductor.py -> build/lib/ironic/conf copying ironic/conf/console.py -> build/lib/ironic/conf copying ironic/conf/database.py -> build/lib/ironic/conf copying ironic/conf/default.py -> build/lib/ironic/conf copying ironic/conf/deploy.py -> build/lib/ironic/conf copying ironic/conf/dhcp.py -> build/lib/ironic/conf copying ironic/conf/drac.py -> build/lib/ironic/conf copying ironic/conf/glance.py -> build/lib/ironic/conf copying ironic/conf/healthcheck.py -> build/lib/ironic/conf copying ironic/conf/ibmc.py -> build/lib/ironic/conf copying ironic/conf/ilo.py -> build/lib/ironic/conf copying ironic/conf/ipmi.py -> build/lib/ironic/conf copying ironic/conf/irmc.py -> build/lib/ironic/conf copying ironic/conf/iscsi.py -> build/lib/ironic/conf copying ironic/conf/json_rpc.py -> build/lib/ironic/conf copying ironic/conf/metrics.py -> build/lib/ironic/conf copying ironic/conf/metrics_statsd.py -> build/lib/ironic/conf copying ironic/conf/nova.py -> build/lib/ironic/conf copying ironic/conf/opts.py -> build/lib/ironic/conf copying ironic/conf/pxe.py -> build/lib/ironic/conf copying ironic/conf/redfish.py -> build/lib/ironic/conf copying ironic/conf/service_catalog.py -> build/lib/ironic/conf copying ironic/conf/snmp.py -> build/lib/ironic/conf copying ironic/conf/swift.py -> build/lib/ironic/conf copying ironic/conf/xclarity.py -> build/lib/ironic/conf creating build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_pxe_utils.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/__init__.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_cinder.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_context.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_driver_factory.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_fsm.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_glance_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_hash_ring.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_image_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_images.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_json_rpc.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_keystone.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_network.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_neutron.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_nova.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_policy.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_raid.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_release_mappings.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_rpc.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_rpc_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_states.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_swift.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_utils.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_wsgi_service.py -> build/lib/ironic/tests/unit/common creating build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/__init__.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/base.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_allocations.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_api.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_bios_settings.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_chassis.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_conductor.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_deploy_templates.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_node_tags.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_node_traits.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_nodes.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_portgroups.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_ports.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_volume_connectors.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_volume_targets.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/utils.py -> build/lib/ironic/tests/unit/db copying ironic/tests/__init__.py -> build/lib/ironic/tests copying ironic/tests/base.py -> build/lib/ironic/tests copying ironic/db/__init__.py -> build/lib/ironic/db copying ironic/db/api.py -> build/lib/ironic/db copying ironic/db/migration.py -> build/lib/ironic/db creating build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/neutron.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/flat.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/common.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/noop.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/__init__.py -> build/lib/ironic/drivers/modules/network creating build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/__init__.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_api.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_migrations.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_models.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/test_types.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/drivers/modules/test_pxe.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_ipxe.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_inspector.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/__init__.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent_base_vendor.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent_client.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_boot_mode_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_console_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_deploy_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_image_cache.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_inspect_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_ipmitool.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_iscsi_deploy.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_noop.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_noop_mgmt.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_snmp.py -> build/lib/ironic/tests/unit/drivers/modules creating build/lib/ironic/tests/functional copying ironic/tests/functional/__init__.py -> build/lib/ironic/tests/functional creating build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_noop.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_neutron.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_flat.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/network copying ironic/tests/unit/drivers/modules/network/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/network creating build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/__init__.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/bios.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/boot.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/common.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/console.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/firmware_processor.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/inspect.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/management.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/power.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/raid.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/vendor.py -> build/lib/ironic/drivers/modules/ilo copying ironic/tests/unit/api/controllers/__init__.py -> build/lib/ironic/tests/unit/api/controllers copying ironic/tests/unit/api/controllers/test_base.py -> build/lib/ironic/tests/unit/api/controllers creating build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_console.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/ilo copying ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> build/lib/ironic/tests/unit/drivers/modules/ilo creating build/lib/ironic/tests/unit/conf copying ironic/tests/unit/conf/__init__.py -> build/lib/ironic/tests/unit/conf copying ironic/tests/unit/conf/test_auth.py -> build/lib/ironic/tests/unit/conf creating build/lib/ironic/cmd copying ironic/cmd/__init__.py -> build/lib/ironic/cmd copying ironic/cmd/api.py -> build/lib/ironic/cmd copying ironic/cmd/conductor.py -> build/lib/ironic/cmd copying ironic/cmd/dbsync.py -> build/lib/ironic/cmd copying ironic/cmd/status.py -> build/lib/ironic/cmd creating build/lib/ironic/common/json_rpc copying ironic/common/json_rpc/__init__.py -> build/lib/ironic/common/json_rpc copying ironic/common/json_rpc/client.py -> build/lib/ironic/common/json_rpc copying ironic/common/json_rpc/server.py -> build/lib/ironic/common/json_rpc creating build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/__init__.py -> build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/common.py -> build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/management.py -> build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/power.py -> build/lib/ironic/drivers/modules/xclarity copying ironic/api/__init__.py -> build/lib/ironic/api copying ironic/api/app.py -> build/lib/ironic/api copying ironic/api/config.py -> build/lib/ironic/api copying ironic/api/expose.py -> build/lib/ironic/api copying ironic/api/hooks.py -> build/lib/ironic/api copying ironic/api/wsgi.py -> build/lib/ironic/api creating build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/__init__.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/bios.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/common.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/inspect.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/job.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/management.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/power.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/raid.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/vendor_passthru.py -> build/lib/ironic/drivers/modules/drac creating build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_bios.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_boot.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_common.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_inspect.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_management.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_power.py -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/test_raid.py -> build/lib/ironic/tests/unit/drivers/modules/irmc creating build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/__init__.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/management.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/mappings.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/power.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/utils.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/vendor.py -> build/lib/ironic/drivers/modules/ibmc creating build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/__init__.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/test_factory.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/dhcp/test_neutron.py -> build/lib/ironic/tests/unit/dhcp creating build/lib/ironic/dhcp copying ironic/dhcp/__init__.py -> build/lib/ironic/dhcp copying ironic/dhcp/base.py -> build/lib/ironic/dhcp copying ironic/dhcp/neutron.py -> build/lib/ironic/dhcp copying ironic/dhcp/none.py -> build/lib/ironic/dhcp creating build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/__init__.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/allocation.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/bios.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/chassis.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/collection.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/conductor.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/deploy_template.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/driver.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/event.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/node.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/notification_utils.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/port.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/portgroup.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/ramdisk.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/state.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/types.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/utils.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/versions.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume_connector.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume_target.py -> build/lib/ironic/api/controllers/v1 creating build/lib/ironic/tests/unit/drivers/modules/ansible copying ironic/tests/unit/drivers/modules/ansible/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ansible copying ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> build/lib/ironic/tests/unit/drivers/modules/ansible running egg_info writing ironic.egg-info/PKG-INFO writing dependency_links to ironic.egg-info/dependency_links.txt writing entry points to ironic.egg-info/entry_points.txt deleting ironic.egg-info/requires.txt writing top-level names to ironic.egg-info/top_level.txt [pbr] Reusing existing SOURCES.txt creating build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/ansible.cfg -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/clean.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/deploy.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/inventory -> build/lib/ironic/drivers/modules/ansible/playbooks copying ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks creating build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.ini -> build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins copying ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py -> build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins creating build/lib/ironic/drivers/modules/ansible/playbooks/library copying ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py -> build/lib/ironic/drivers/modules/ansible/playbooks/library copying ironic/drivers/modules/ansible/playbooks/library/root_hints.py -> build/lib/ironic/drivers/modules/ansible/playbooks/library copying ironic/drivers/modules/ansible/playbooks/library/stream_url.py -> build/lib/ironic/drivers/modules/ansible/playbooks/library creating build/lib/ironic/drivers/modules/ansible/playbooks/roles creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults copying ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/shred.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/wipe.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults copying ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/mounts.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/files copying ironic/drivers/modules/ansible/playbooks/roles/deploy/files/partition_configdrive.sh -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/files creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/configdrive.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/download.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/write.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks copying ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/roothints.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks copying ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/parted.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown creating build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks copying ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/main.yaml -> build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks copying ironic/drivers/raid_config_schema.json -> build/lib/ironic/drivers copying ironic/db/sqlalchemy/alembic.ini -> build/lib/ironic/db/sqlalchemy creating build/lib/ironic/db/sqlalchemy/alembic copying ironic/db/sqlalchemy/alembic/README -> build/lib/ironic/db/sqlalchemy/alembic copying ironic/db/sqlalchemy/alembic/env.py -> build/lib/ironic/db/sqlalchemy/alembic copying ironic/db/sqlalchemy/alembic/script.py.mako -> build/lib/ironic/db/sqlalchemy/alembic creating build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/tests/unit/drivers/boot.ipxe -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/ipxe_config_timeout.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/pxe_config.template -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/pxe_grub_config.template -> build/lib/ironic/tests/unit/drivers copying ironic/drivers/modules/agent_config.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/boot.ipxe -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ipxe_config.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/master_grub_cfg.txt -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe_config.template -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe_grub_config.template -> build/lib/ironic/drivers/modules copying ironic/common/grub_conf.template -> build/lib/ironic/common copying ironic/common/isolinux_config.template -> build/lib/ironic/common copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -> build/lib/ironic/tests/unit/drivers/modules/irmc copying ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -> build/lib/ironic/tests/unit/drivers/modules/irmc + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.BwjcYl + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64 '!=' / ']' + rm -rf /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64 ++ dirname /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64 + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64 + cd ironic-13.0.3.dev5 ++ '[' -f _current_flavor ']' ++ cat _current_flavor + python_flavor=python3 + '[' -z python3 ']' + '[' python3 '!=' python3 ']' + echo python3 + /usr/bin/python3 setup.py install -O1 --skip-build --force --root /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64 --prefix /usr running install [pbr] Generating AUTHORS [pbr] AUTHORS complete (0.0s) running install_lib creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6 creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/none.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/base.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/dhcp creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd copying build/lib/ironic/cmd/status.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd copying build/lib/ironic/cmd/dbsync.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd copying build/lib/ironic/cmd/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd copying build/lib/ironic/cmd/api.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd copying build/lib/ironic/cmd/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/service_catalog.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/opts.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/nova.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/metrics_statsd.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/metrics.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/json_rpc.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/iscsi.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/healthcheck.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/glance.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/dhcp.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/default.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/database.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/console.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/auth.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/audit.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/api.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/ansible.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/agent.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/conductor/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/conductor/task_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/conductor/steps.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/conductor/rpcapi.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/conductor/notification_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/conductor/manager.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/conductor/base_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/conductor/allocations.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/conductor/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/version.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic copying build/lib/ironic/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/volume_target.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/volume_connector.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/trait.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/port.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/notification.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/node.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/indirection.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/fields.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/deploy_template.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/base.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/hacking copying build/lib/ironic/hacking/checks.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/hacking copying build/lib/ironic/hacking/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/hacking creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api copying build/lib/ironic/api/wsgi.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api copying build/lib/ironic/api/hooks.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api copying build/lib/ironic/api/expose.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api copying build/lib/ironic/api/config.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api copying build/lib/ironic/api/app.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api copying build/lib/ironic/api/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/middleware copying build/lib/ironic/api/middleware/parsable_error.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/middleware copying build/lib/ironic/api/middleware/json_ext.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/middleware copying build/lib/ironic/api/middleware/auth_token.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/middleware copying build/lib/ironic/api/middleware/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/middleware creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/volume_target.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/volume_connector.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/volume.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/versions.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/types.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/state.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/ramdisk.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/port.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/notification_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/node.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/event.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/driver.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/deploy_template.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/collection.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/version.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers copying build/lib/ironic/api/controllers/root.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers copying build/lib/ironic/api/controllers/link.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers copying build/lib/ironic/api/controllers/base.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers copying build/lib/ironic/api/controllers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db copying build/lib/ironic/db/migration.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db copying build/lib/ironic/db/api.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db copying build/lib/ironic/db/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/script.py.mako -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic copying build/lib/ironic/db/sqlalchemy/alembic/env.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic copying build/lib/ironic/db/sqlalchemy/alembic/README -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic copying build/lib/ironic/db/sqlalchemy/alembic.ini -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/models.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/migration.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/api.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/raid_config_schema.json -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/intel_ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/hardware_type.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/generic.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/fake_hardware.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/base.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe_grub_config.template -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/master_grub_cfg.txt -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/ipxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/boot.ipxe -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent_config.template -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/power.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/mappings.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/management.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/vendor_passthru.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/power.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/management.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/job.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/common.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity copying build/lib/ironic/drivers/modules/xclarity/power.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity copying build/lib/ironic/drivers/modules/xclarity/management.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity copying build/lib/ironic/drivers/modules/xclarity/common.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity copying build/lib/ironic/drivers/modules/xclarity/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/power.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/management.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/firmware_processor.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/console.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/common.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/noop.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/common.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/flat.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/intel_ipmi copying build/lib/ironic/drivers/modules/intel_ipmi/management.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/intel_ipmi copying build/lib/ironic/drivers/modules/intel_ipmi/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/intel_ipmi creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/storage/noop.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/storage/external.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/storage/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/storage/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe_base.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/noop_mgmt.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/noop.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/iscsi_deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/ipmitool.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/inspect_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/image_cache.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/fake.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/deploy_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/console_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/boot_mode_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent_client.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent_base_vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/ipxe.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/power.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/management.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/common.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks/main.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/parted.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks/main.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/roothints.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks/main.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/write.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/main.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/download.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks/configdrive.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/files copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/deploy/files/partition_configdrive.sh -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/files creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/mounts.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/main.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks/grub.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults/main.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/zap.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/wipe.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/shred.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks/main.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults copying build/lib/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults/main.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/library copying build/lib/ironic/drivers/modules/ansible/playbooks/library/stream_url.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/library copying build/lib/ironic/drivers/modules/ansible/playbooks/library/root_hints.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/library copying build/lib/ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/library creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins copying build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins copying build/lib/ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.ini -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins copying build/lib/ironic/drivers/modules/ansible/playbooks/shutdown.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/inventory -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/deploy.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/clean.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/ansible.cfg -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/playbooks/add-ironic-nodes.yaml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible copying build/lib/ironic/drivers/modules/ansible/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/power.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/management.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/isolinux_config.template -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/grub_conf.template -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/json_rpc copying build/lib/ironic/common/json_rpc/server.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/json_rpc copying build/lib/ironic/common/json_rpc/client.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/json_rpc copying build/lib/ironic/common/json_rpc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/json_rpc copying build/lib/ironic/common/wsgi_service.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/states.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/service.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/rpc_service.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/rpc.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/release_mappings.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/profiler.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/policy.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/nova.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/network.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/keystone.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/indicator_states.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/images.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/i18n.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/hash_ring.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/fsm.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/faults.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/exception.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/driver_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/dhcp_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/context.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/config.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/components.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/boot_modes.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/boot_devices.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/pxe_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/glance_service copying build/lib/ironic/common/glance_service/service_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/glance_service copying build/lib/ironic/common/glance_service/image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/glance_service copying build/lib/ironic/common/glance_service/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/glance_service creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/functional copying build/lib/ironic/tests/functional/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/functional copying build/lib/ironic/tests/base.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests copying build/lib/ironic/tests/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/dhcp copying build/lib/ironic/tests/unit/dhcp/test_neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/dhcp copying build/lib/ironic/tests/unit/dhcp/test_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/dhcp copying build/lib/ironic/tests/unit/dhcp/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/dhcp creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conf copying build/lib/ironic/tests/unit/conf/test_auth.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conf copying build/lib/ironic/tests/unit/conf/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conf creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/sqlalchemy/test_types.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/sqlalchemy/test_models.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/sqlalchemy/test_migrations.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/sqlalchemy/test_api.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/sqlalchemy/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_volume_targets.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_volume_connectors.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_ports.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_portgroups.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_nodes.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_node_traits.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_node_tags.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_deploy_templates.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_bios_settings.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_api.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/test_allocations.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/base.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_wsgi_service.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_swift.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_states.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_rpc_service.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_rpc.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_release_mappings.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_raid.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_policy.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_nova.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_network.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_keystone.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_json_rpc.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_images.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_hash_ring.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_glance_service.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_fsm.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_driver_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_context.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/test_pxe_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit copying build/lib/ironic/tests/unit/stubs.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit copying build/lib/ironic/tests/unit/raid_constants.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit copying build/lib/ironic/tests/unit/policy_fixture.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit copying build/lib/ironic/tests/unit/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd copying build/lib/ironic/tests/unit/cmd/test_status.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd copying build/lib/ironic/tests/unit/cmd/test_dbsync.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd copying build/lib/ironic/tests/unit/cmd/test_conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd copying build/lib/ironic/tests/unit/cmd/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_volume_target.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_volume_connector.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_trait.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_port.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_objects.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_notification.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_node.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_fields.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_deploy_template.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_bios.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_root.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_proxy_middleware.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_ospmiddleware.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_middleware.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_hooks.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_healthcheck.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_audit.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_acl.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/base.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers copying build/lib/ironic/tests/unit/api/controllers/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers copying build/lib/ironic/tests/unit/api/controllers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_volume_target.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_volume_connector.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_volume.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_versions.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_types.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_root.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_ramdisk.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_port.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_notification_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_node.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_expose.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_event.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_driver.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_deploy_template.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/test_allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/v1/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/pxe_grub_config.template -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/pxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_timeout.template -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_no_extra_volumes.template -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/boot.ipxe -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/third_party_driver_mocks.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/third_party_driver_mock_specs.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_generic.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_fake_hardware.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_drac.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ansible copying build/lib/ironic/tests/unit/drivers/modules/ansible/test_deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ansible copying build/lib/ironic/tests/unit/drivers/modules/ansible/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ok.xml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/fake_sensors_data_ng.xml -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_raid.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_power.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_management.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_common.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_boot.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/test_bios.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc copying build/lib/ironic/tests/unit/drivers/modules/irmc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_raid.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_power.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_management.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_console.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_common.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_boot.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/test_bios.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/ilo/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network copying build/lib/ironic/tests/unit/drivers/modules/network/test_common.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network copying build/lib/ironic/tests/unit/drivers/modules/network/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network copying build/lib/ironic/tests/unit/drivers/modules/network/test_flat.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network copying build/lib/ironic/tests/unit/drivers/modules/network/test_neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network copying build/lib/ironic/tests/unit/drivers/modules/network/test_noop.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network copying build/lib/ironic/tests/unit/drivers/modules/test_snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_noop_mgmt.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_noop.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_iscsi_deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_ipmitool.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_inspect_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_image_cache.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_deploy_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_console_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_boot_mode_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_agent_client.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_agent_base_vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_agent.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_ipxe.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc copying build/lib/ironic/tests/unit/drivers/modules/ibmc/test_vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc copying build/lib/ironic/tests/unit/drivers/modules/ibmc/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc copying build/lib/ironic/tests/unit/drivers/modules/ibmc/test_power.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc copying build/lib/ironic/tests/unit/drivers/modules/ibmc/test_management.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc copying build/lib/ironic/tests/unit/drivers/modules/ibmc/base.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc copying build/lib/ironic/tests/unit/drivers/modules/ibmc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/storage copying build/lib/ironic/tests/unit/drivers/modules/storage/test_external.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/storage copying build/lib/ironic/tests/unit/drivers/modules/storage/test_cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/storage copying build/lib/ironic/tests/unit/drivers/modules/storage/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/storage creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_power.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_management.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_bios.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish copying build/lib/ironic/tests/unit/drivers/modules/redfish/test_boot.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/test_raid.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/test_power.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/test_periodic_task.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/test_management.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/test_job.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/test_inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/test_common.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/test_bios.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/xclarity copying build/lib/ironic/tests/unit/drivers/modules/xclarity/test_power.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/xclarity copying build/lib/ironic/tests/unit/drivers/modules/xclarity/test_management.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/xclarity copying build/lib/ironic/tests/unit/drivers/modules/xclarity/test_common.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/xclarity copying build/lib/ironic/tests/unit/drivers/modules/xclarity/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/xclarity creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi copying build/lib/ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi copying build/lib/ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi copying build/lib/ironic/tests/unit/drivers/modules/intel_ipmi/base.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi copying build/lib/ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_task_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_steps.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_rpcapi.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_notification_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_base_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_allocations.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/mgr_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/dhcp/none.py to none.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/dhcp/neutron.py to neutron.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/dhcp/base.py to base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/dhcp/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd/status.py to status.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd/dbsync.py to dbsync.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd/conductor.py to conductor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd/api.py to api.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/cmd/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/xclarity.py to xclarity.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/swift.py to swift.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/snmp.py to snmp.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/service_catalog.py to service_catalog.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/redfish.py to redfish.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/pxe.py to pxe.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/opts.py to opts.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/nova.py to nova.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/metrics_statsd.py to metrics_statsd.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/metrics.py to metrics.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/json_rpc.py to json_rpc.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/iscsi.py to iscsi.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/irmc.py to irmc.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/ipmi.py to ipmi.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/ilo.py to ilo.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/ibmc.py to ibmc.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/healthcheck.py to healthcheck.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/glance.py to glance.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/drac.py to drac.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/dhcp.py to dhcp.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/deploy.py to deploy.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/default.py to default.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/database.py to database.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/console.py to console.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/conductor.py to conductor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/cinder.py to cinder.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/auth.py to auth.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/audit.py to audit.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/api.py to api.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/ansible.py to ansible.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/agent.py to agent.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/inspector.py to inspector.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conf/neutron.py to neutron.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/task_manager.py to task_manager.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/steps.py to steps.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/rpcapi.py to rpcapi.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/notification_utils.py to notification_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/manager.py to manager.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/base_manager.py to base_manager.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/allocations.py to allocations.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/conductor/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/version.py to version.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/volume_target.py to volume_target.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/volume_connector.py to volume_connector.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/trait.py to trait.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/portgroup.py to portgroup.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/port.py to port.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/notification.py to notification.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/node.py to node.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/indirection.py to indirection.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/fields.py to fields.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/deploy_template.py to deploy_template.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/conductor.py to conductor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/chassis.py to chassis.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/bios.py to bios.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/base.py to base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/allocation.py to allocation.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/objects/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/hacking/checks.py to checks.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/hacking/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/wsgi.py to wsgi.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/hooks.py to hooks.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/expose.py to expose.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/config.py to config.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/app.py to app.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/middleware/parsable_error.py to parsable_error.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/middleware/json_ext.py to json_ext.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/middleware/auth_token.py to auth_token.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/middleware/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/volume_target.py to volume_target.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/volume_connector.py to volume_connector.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/volume.py to volume.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/versions.py to versions.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/types.py to types.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/state.py to state.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/ramdisk.py to ramdisk.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/portgroup.py to portgroup.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/port.py to port.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/notification_utils.py to notification_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/node.py to node.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/event.py to event.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/driver.py to driver.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/deploy_template.py to deploy_template.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/conductor.py to conductor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/collection.py to collection.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/chassis.py to chassis.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/bios.py to bios.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/allocation.py to allocation.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/version.py to version.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/root.py to root.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/link.py to link.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/base.py to base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/api/controllers/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/migration.py to migration.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/api.py to api.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/fb3f10dd262e_add_fault_to_node_table.py to fb3f10dd262e_add_fault_to_node_table.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/f6fdb920c182_set_pxe_enabled_true.py to f6fdb920c182_set_pxe_enabled_true.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/f190f9d00a11_add_node_owner.py to f190f9d00a11_add_node_owner.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/e918ff30eb42_resize_column_nodes_instance_info.py to e918ff30eb42_resize_column_nodes_instance_info.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/e294876e8028_add_node_network_interface.py to e294876e8028_add_node_network_interface.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/dd67b91a1981_add_allocations_table.py to dd67b91a1981_add_allocations_table.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/dd34e1f1303b_add_resource_class_to_node.py to dd34e1f1303b_add_resource_class_to_node.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/dbefd6bdaa2c_add_default_column_to_.py to dbefd6bdaa2c_add_default_column_to_.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/daa1ba02d98_add_volume_connectors_table.py to daa1ba02d98_add_volume_connectors_table.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/d2b036ae9378_add_automated_clean_field.py to d2b036ae9378_add_automated_clean_field.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/c14cef6dfedf_populate_node_network_interface.py to c14cef6dfedf_populate_node_network_interface.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/bcdd431ba0bf_add_fields_for_all_interfaces.py to bcdd431ba0bf_add_fields_for_all_interfaces.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/bb59b63f55a_add_node_driver_internal_info.py to bb59b63f55a_add_node_driver_internal_info.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/b9117ac17882_add_node_deploy_step.py to b9117ac17882_add_node_deploy_step.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/b4130a7fc904_create_nodetraits_table.py to b4130a7fc904_create_nodetraits_table.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/9cbeefa3763f_add_port_is_smartnic.py to 9cbeefa3763f_add_port_is_smartnic.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/93706939026c_add_node_protected_field.py to 93706939026c_add_node_protected_field.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/868cb606a74a_add_version_field_in_base_class.py to 868cb606a74a_add_version_field_in_base_class.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/82c315d60161_add_bios_settings.py to 82c315d60161_add_bios_settings.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/789acc877671_add_raid_config.py to 789acc877671_add_raid_config.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/664f85c2f622_add_conductor_group_to_nodes_conductors.py to 664f85c2f622_add_conductor_group_to_nodes_conductors.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/60cf717201bc_add_standalone_ports_supported.py to 60cf717201bc_add_standalone_ports_supported.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/5ea1b0d310e_added_port_group_table_and_altered_ports.py to 5ea1b0d310e_added_port_group_table_and_altered_ports.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/5674c57409b9_replace_nostate_with_available.py to 5674c57409b9_replace_nostate_with_available.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/516faf1bb9b1_resizing_column_nodes_driver.py to 516faf1bb9b1_resizing_column_nodes_driver.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/4f399b21ae71_add_node_clean_step.py to 4f399b21ae71_add_node_clean_step.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/493d8f27f235_add_portgroup_configuration_fields.py to 493d8f27f235_add_portgroup_configuration_fields.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/48d6c242bb9b_add_node_tags.py to 48d6c242bb9b_add_node_tags.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/487deb87cc9d_add_conductor_affinity_and_online.py to 487deb87cc9d_add_conductor_affinity_and_online.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/405cfe08f18d_add_rescue_interface_to_node.py to 405cfe08f18d_add_rescue_interface_to_node.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/3d86a077a3f2_add_port_physical_network.py to 3d86a077a3f2_add_port_physical_network.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/3cb628139ea4_nodes_add_console_enabled.py to 3cb628139ea4_nodes_add_console_enabled.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/3bea56f25597_add_unique_constraint_to_instance_uuid.py to 3bea56f25597_add_unique_constraint_to_instance_uuid.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/3ae36a5f5131_add_logical_name.py to 3ae36a5f5131_add_logical_name.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/31baaf680d2b_add_node_instance_info.py to 31baaf680d2b_add_node_instance_info.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/2fb93ffd2af1_increase_node_name_length.py to 2fb93ffd2af1_increase_node_name_length.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/2d13bc3d6bba_add_bios_config_and_interface.py to 2d13bc3d6bba_add_bios_config_and_interface.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/2aac7e0872f6_add_deploy_templates.py to 2aac7e0872f6_add_deploy_templates.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/28c44432c9c3_add_node_description.py to 28c44432c9c3_add_node_description.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/2581ebaf0cb2_initial_migration.py to 2581ebaf0cb2_initial_migration.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/242cc6a923b3_add_node_maintenance_reason.py to 242cc6a923b3_add_node_maintenance_reason.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/2353895ecfae_add_conductor_hardware_interfaces_table.py to 2353895ecfae_add_conductor_hardware_interfaces_table.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/21b331f883ef_add_provision_updated_at.py to 21b331f883ef_add_provision_updated_at.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/1e1d5ace7dc6_add_inspection_started_at_and_.py to 1e1d5ace7dc6_add_inspection_started_at_and_.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/1e15e7122cc9_add_extra_column_to_deploy_templates.py to 1e15e7122cc9_add_extra_column_to_deploy_templates.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/1d6951876d68_add_storage_interface_db_field_and_.py to 1d6951876d68_add_storage_interface_db_field_and_.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/1a59178ebdf6_add_volume_targets_table.py to 1a59178ebdf6_add_volume_targets_table.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/10b163d4481e_add_port_portgroup_internal_info.py to 10b163d4481e_add_port_portgroup_internal_info.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/env.py to env.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/models.py to models.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/migration.py to migration.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/api.py to api.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/xclarity.py to xclarity.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/snmp.py to snmp.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/redfish.py to redfish.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/irmc.py to irmc.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/ipmi.py to ipmi.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/intel_ipmi.py to intel_ipmi.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/ilo.py to ilo.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/ibmc.py to ibmc.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/hardware_type.py to hardware_type.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/generic.py to generic.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/fake_hardware.py to fake_hardware.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/drac.py to drac.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/base.py to base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc/vendor.py to vendor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc/power.py to power.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc/mappings.py to mappings.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc/management.py to management.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/vendor_passthru.py to vendor_passthru.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/raid.py to raid.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/power.py to power.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/management.py to management.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/job.py to job.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/inspect.py to inspect.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/common.py to common.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/bios.py to bios.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity/power.py to power.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity/management.py to management.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity/common.py to common.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/vendor.py to vendor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/raid.py to raid.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/power.py to power.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/management.py to management.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/inspect.py to inspect.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/firmware_processor.py to firmware_processor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/console.py to console.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/common.py to common.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/boot.py to boot.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/bios.py to bios.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network/noop.py to noop.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network/common.py to common.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network/flat.py to flat.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/network/neutron.py to neutron.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/intel_ipmi/management.py to management.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/intel_ipmi/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage/noop.py to noop.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage/external.py to external.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage/cinder.py to cinder.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/snmp.py to snmp.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/pxe_base.py to pxe_base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/noop_mgmt.py to noop_mgmt.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/noop.py to noop.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/iscsi_deploy.py to iscsi_deploy.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ipmitool.py to ipmitool.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/inspect_utils.py to inspect_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/image_cache.py to image_cache.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/fake.py to fake.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/deploy_utils.py to deploy_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/console_utils.py to console_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/boot_mode_utils.py to boot_mode_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/agent_client.py to agent_client.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/agent_base_vendor.py to agent_base_vendor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/agent.py to agent.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/inspector.py to inspector.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ipxe.py to ipxe.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/pxe.py to pxe.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/raid.py to raid.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/power.py to power.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/management.py to management.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/inspect.py to inspect.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/common.py to common.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/boot.py to boot.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/bios.py to bios.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/library/stream_url.py to stream_url.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/library/root_hints.py to root_hints.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/library/facts_wwn.py to facts_wwn.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/callback_plugins/ironic_log.py to ironic_log.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/deploy.py to deploy.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/power.py to power.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/management.py to management.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/inspect.py to inspect.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/bios.py to bios.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/boot.py to boot.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/json_rpc/server.py to server.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/json_rpc/client.py to client.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/json_rpc/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/wsgi_service.py to wsgi_service.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/swift.py to swift.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/states.py to states.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/service.py to service.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/rpc_service.py to rpc_service.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/rpc.py to rpc.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/release_mappings.py to release_mappings.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/raid.py to raid.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/profiler.py to profiler.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/policy.py to policy.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/nova.py to nova.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/network.py to network.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/keystone.py to keystone.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/indicator_states.py to indicator_states.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/images.py to images.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/image_service.py to image_service.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/i18n.py to i18n.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/hash_ring.py to hash_ring.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/fsm.py to fsm.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/faults.py to faults.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/exception.py to exception.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/driver_factory.py to driver_factory.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/dhcp_factory.py to dhcp_factory.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/context.py to context.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/config.py to config.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/components.py to components.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/cinder.py to cinder.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/boot_modes.py to boot_modes.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/boot_devices.py to boot_devices.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/pxe_utils.py to pxe_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/neutron.py to neutron.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/glance_service/service_utils.py to service_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/glance_service/image_service.py to image_service.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/common/glance_service/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/functional/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/base.py to base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/dhcp/test_neutron.py to test_neutron.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/dhcp/test_factory.py to test_factory.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/dhcp/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conf/test_auth.py to test_auth.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conf/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy/test_types.py to test_types.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy/test_models.py to test_models.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy/test_migrations.py to test_migrations.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy/test_api.py to test_api.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_volume_targets.py to test_volume_targets.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_volume_connectors.py to test_volume_connectors.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_ports.py to test_ports.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_portgroups.py to test_portgroups.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_nodes.py to test_nodes.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_node_traits.py to test_node_traits.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_node_tags.py to test_node_tags.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_deploy_templates.py to test_deploy_templates.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_conductor.py to test_conductor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_chassis.py to test_chassis.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_bios_settings.py to test_bios_settings.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_api.py to test_api.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/test_allocations.py to test_allocations.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/base.py to base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/db/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_wsgi_service.py to test_wsgi_service.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_utils.py to test_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_swift.py to test_swift.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_states.py to test_states.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_rpc_service.py to test_rpc_service.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_rpc.py to test_rpc.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_release_mappings.py to test_release_mappings.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_raid.py to test_raid.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_policy.py to test_policy.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_nova.py to test_nova.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_neutron.py to test_neutron.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_network.py to test_network.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_keystone.py to test_keystone.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_json_rpc.py to test_json_rpc.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_images.py to test_images.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_image_service.py to test_image_service.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_hash_ring.py to test_hash_ring.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_glance_service.py to test_glance_service.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_fsm.py to test_fsm.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_driver_factory.py to test_driver_factory.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_context.py to test_context.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_cinder.py to test_cinder.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/common/test_pxe_utils.py to test_pxe_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/test_base.py to test_base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/stubs.py to stubs.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/raid_constants.py to raid_constants.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/policy_fixture.py to policy_fixture.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd/test_status.py to test_status.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd/test_dbsync.py to test_dbsync.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd/test_conductor.py to test_conductor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_volume_target.py to test_volume_target.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_volume_connector.py to test_volume_connector.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_trait.py to test_trait.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_portgroup.py to test_portgroup.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_port.py to test_port.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_objects.py to test_objects.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_notification.py to test_notification.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_node.py to test_node.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_fields.py to test_fields.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_deploy_template.py to test_deploy_template.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_conductor.py to test_conductor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_chassis.py to test_chassis.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_bios.py to test_bios.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_allocation.py to test_allocation.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_root.py to test_root.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_proxy_middleware.py to test_proxy_middleware.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_ospmiddleware.py to test_ospmiddleware.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_middleware.py to test_middleware.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_hooks.py to test_hooks.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_healthcheck.py to test_healthcheck.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_audit.py to test_audit.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_acl.py to test_acl.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/base.py to base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/test_base.py to test_base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_volume_target.py to test_volume_target.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_volume_connector.py to test_volume_connector.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_volume.py to test_volume.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_versions.py to test_versions.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_utils.py to test_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_types.py to test_types.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_root.py to test_root.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_ramdisk.py to test_ramdisk.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_portgroup.py to test_portgroup.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_port.py to test_port.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_notification_utils.py to test_notification_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_node.py to test_node.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_expose.py to test_expose.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_event.py to test_event.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_driver.py to test_driver.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_deploy_template.py to test_deploy_template.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_conductor.py to test_conductor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_chassis.py to test_chassis.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/test_allocation.py to test_allocation.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/third_party_driver_mocks.py to third_party_driver_mocks.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/third_party_driver_mock_specs.py to third_party_driver_mock_specs.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_xclarity.py to test_xclarity.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_utils.py to test_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_snmp.py to test_snmp.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_redfish.py to test_redfish.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_irmc.py to test_irmc.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_ipmi.py to test_ipmi.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_ilo.py to test_ilo.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_ibmc.py to test_ibmc.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_generic.py to test_generic.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_fake_hardware.py to test_fake_hardware.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_drac.py to test_drac.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/test_base.py to test_base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ansible/test_deploy.py to test_deploy.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ansible/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc/test_raid.py to test_raid.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc/test_power.py to test_power.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc/test_periodic_task.py to test_periodic_task.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc/test_management.py to test_management.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc/test_inspect.py to test_inspect.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc/test_common.py to test_common.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc/test_boot.py to test_boot.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc/test_bios.py to test_bios.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/test_vendor.py to test_vendor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/test_raid.py to test_raid.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/test_power.py to test_power.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/test_management.py to test_management.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/test_inspect.py to test_inspect.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/test_firmware_processor.py to test_firmware_processor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/test_console.py to test_console.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/test_common.py to test_common.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/test_boot.py to test_boot.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/test_bios.py to test_bios.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network/test_common.py to test_common.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network/test_flat.py to test_flat.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network/test_neutron.py to test_neutron.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network/test_noop.py to test_noop.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_snmp.py to test_snmp.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_noop_mgmt.py to test_noop_mgmt.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_noop.py to test_noop.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_iscsi_deploy.py to test_iscsi_deploy.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_ipmitool.py to test_ipmitool.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_inspect_utils.py to test_inspect_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_image_cache.py to test_image_cache.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_deploy_utils.py to test_deploy_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_console_utils.py to test_console_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_boot_mode_utils.py to test_boot_mode_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_agent_client.py to test_agent_client.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_agent_base_vendor.py to test_agent_base_vendor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_agent.py to test_agent.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_inspector.py to test_inspector.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_ipxe.py to test_ipxe.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_pxe.py to test_pxe.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_vendor.py to test_vendor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_utils.py to test_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_power.py to test_power.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_management.py to test_management.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc/base.py to base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/storage/test_external.py to test_external.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/storage/test_cinder.py to test_cinder.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/storage/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish/test_utils.py to test_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish/test_power.py to test_power.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish/test_management.py to test_management.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish/test_inspect.py to test_inspect.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish/test_bios.py to test_bios.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish/test_boot.py to test_boot.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/test_raid.py to test_raid.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/test_power.py to test_power.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/test_periodic_task.py to test_periodic_task.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/test_management.py to test_management.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/test_job.py to test_job.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/test_inspect.py to test_inspect.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/test_common.py to test_common.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/test_bios.py to test_bios.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/xclarity/test_power.py to test_power.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/xclarity/test_management.py to test_management.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/xclarity/test_common.py to test_common.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/xclarity/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi/test_management.py to test_management.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi/test_intel_ipmi.py to test_intel_ipmi.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi/base.py to base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_utils.py to test_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_task_manager.py to test_task_manager.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_steps.py to test_steps.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_rpcapi.py to test_rpcapi.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_notification_utils.py to test_notification_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_manager.py to test_manager.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_base_manager.py to test_base_manager.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_allocations.py to test_allocations.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/mgr_utils.py to mgr_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/__init__.py to __init__.cpython-36.pyc writing byte-compilation script '/tmp/tmp81zm343b.py' /usr/bin/python3 /tmp/tmp81zm343b.py removing /tmp/tmp81zm343b.py running install_data creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/etc creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/etc/ironic copying etc/ironic/rootwrap.conf -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/etc/ironic creating /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/etc/ironic/rootwrap.d copying etc/ironic/rootwrap.d/ironic-images.filters -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/etc/ironic/rootwrap.d/ copying etc/ironic/rootwrap.d/ironic-lib.filters -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/etc/ironic/rootwrap.d/ copying etc/ironic/rootwrap.d/ironic-utils.filters -> /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/etc/ironic/rootwrap.d/ running install_egg_info running egg_info writing ironic.egg-info/PKG-INFO writing dependency_links to ironic.egg-info/dependency_links.txt writing entry points to ironic.egg-info/entry_points.txt writing top-level names to ironic.egg-info/top_level.txt [pbr] Reusing existing SOURCES.txt Copying ironic.egg-info to /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic-13.0.3.dev5-py3.6.egg-info running install_scripts Installing ironic-api script to /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/bin Installing ironic-conductor script to /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/bin Installing ironic-dbsync script to /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/bin Installing ironic-rootwrap script to /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/bin Installing ironic-status script to /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/bin Installing ironic-api-wsgi script to /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/bin /usr/lib/python3.6/site-packages/pbr/packaging.py:435: EasyInstallDeprecationWarning: Use get_header header = easy_install.get_script_header("", executable, is_wininst) + install -p -D -m 644 /builddir/build/SOURCES/ironic.logrotate /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/etc/logrotate.d/openstack-ironic + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-api.service /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-conductor.service /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/systemd/system + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/etc/sudoers.d + install -p -D -m 440 /builddir/build/SOURCES/ironic-rootwrap-sudoers /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/etc/sudoers.d/ironic + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/var/lib/ironic/ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/var/log/ironic/ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/etc/ironic/rootwrap.d + export PYTHONPATH=. + PYTHONPATH=. + oslo-config-generator-3 --config-file tools/config/ironic-config-generator.conf --output-file /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64//etc/ironic/ironic.conf + oslopolicy-sample-generator-3 --config-file tools/policy/ironic-policy-generator.conf --output-file /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64//etc/ironic/policy.json + mv /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/etc/ironic/rootwrap.conf /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64//etc/ironic/rootwrap.conf + mv /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/etc/ironic/rootwrap.d/ironic-images.filters /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/etc/ironic/rootwrap.d/ironic-lib.filters /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/etc/ironic/rootwrap.d/ironic-utils.filters /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64//etc/ironic/rootwrap.d/ + rmdir /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/etc/ironic/rootwrap.d + rmdir /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/etc/ironic + install -p -D -m 640 /builddir/build/SOURCES/ironic-dist.conf /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64//usr/share/ironic/ironic-dist.conf + /usr/lib/rpm/find-debuginfo.sh -j2 --strict-build-id -m -i --build-id-seed 13.0.3-0.20191217040142.3e39d7b.el8 --unique-debug-suffix -13.0.3-0.20191217040142.3e39d7b.el8.x86_64 --unique-debug-src-base openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64 --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 110000000 -S debugsourcefiles.list /builddir/build/BUILD/ironic-13.0.3.dev5 find: 'debug': No such file or directory + /usr/lib/rpm/check-buildroot + /usr/lib/rpm/redhat/brp-ldconfig /sbin/ldconfig: Warning: ignoring configuration file that cannot be opened: /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/etc/ld.so.conf: No such file or directory + /usr/lib/rpm/brp-compress + /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip + /usr/lib/rpm/brp-python-bytecompile 1 Bytecompiling .py files below /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6 using /usr/libexec/platform-python + /usr/lib/rpm/brp-python-hardlink + PYTHON3=/usr/bin/python3 + /usr/lib/rpm/redhat/brp-mangle-shebangs Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.QOoI1Y + umask 022 + cd /builddir/build/BUILD + cd ironic-13.0.3.dev5 + PYTHON=python3 + stestr-3 run 2020-05-04 22:34:08.828 5006 INFO keyring.backend [-] Loading KWallet 2020-05-04 22:34:08.828 5007 INFO keyring.backend [-] Loading KWallet 2020-05-04 22:34:08.848 5006 INFO keyring.backend [-] Loading SecretService 2020-05-04 22:34:08.848 5007 INFO keyring.backend [-] Loading SecretService 2020-05-04 22:34:08.861 5007 INFO keyring.backend [-] Loading Windows 2020-05-04 22:34:08.863 5007 INFO keyring.backend [-] Loading chainer 2020-05-04 22:34:08.864 5007 INFO keyring.backend [-] Loading macOS 2020-05-04 22:34:08.861 5006 INFO keyring.backend [-] Loading Windows 2020-05-04 22:34:08.868 5006 INFO keyring.backend [-] Loading chainer 2020-05-04 22:34:08.868 5006 INFO keyring.backend [-] Loading macOS 2020-05-04 22:34:13.107 5006 INFO alembic.runtime.migration [req-9604fed6-f9fb-44e0-8a35-43f76df741a2 - - - - -] Context impl SQLiteImpl. 2020-05-04 22:34:13.111 5006 INFO alembic.runtime.migration [req-9604fed6-f9fb-44e0-8a35-43f76df741a2 - - - - -] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. 2020-05-04 22:34:13.183 5007 INFO alembic.runtime.migration [req-bb699f8f-8ecb-45bb-8105-c2ccb61838ff - - - - -] Context impl SQLiteImpl. 2020-05-04 22:34:13.187 5007 INFO alembic.runtime.migration [req-bb699f8f-8ecb-45bb-8105-c2ccb61838ff - - - - -] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_equals [0.460114s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_greaterthan [0.018135s] ... ok {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_lessthan [0.017286s] ... ok INFO [alembic.runtime.migration] Running stamp_revision -> 1e15e7122cc9 {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header [0.016770s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestBase.test_api_setup [0.465829s] ... ok {0} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings [0.018115s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestAllocationObject.test_allocation_init [0.009950s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestBase.test_bad_uri [0.033513s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_init [0.020792s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_not_equals [0.017130s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length [0.017878s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest [0.017414s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok [0.016897s] ... ok {1} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr [0.017396s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_id [0.141428s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_not_existed [0.056551s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name [0.135067s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_with_json [0.068499s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version_without_check [0.036663s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node [0.075770s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_node [0.067954s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_invalid_api_version [0.049702s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_node_locked [0.077583s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_not_existed [0.077752s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_invalid_node [0.035794s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version [0.038836s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_invalid_api_version [0.036316s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links [0.072636s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_resource_not_existed [0.042248s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_empty [0.055761s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_custom_fields [0.100415s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_uuid [0.240214s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_default_limit [0.233135s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_non_existing_node [0.066538s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_state [0.072247s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_name [0.107143s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource [0.085865s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_custom_fields_invalid_fields [0.069704s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_and_id [0.057562s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one [0.066035s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_invalid_api_version [0.046088s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version [0.038712s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version_without_check [0.033563s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_with_fields [0.084446s] ... ok GET: /v1/bad/path {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DELETE: /v1/allocations/alloc1 GOT:Response: 204 No Content Openstack-Request-Id: req-13878fd7-42c4-4925-b550-2404fcec0d8c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation GOT:Response: 204 No Content Openstack-Request-Id: req-8b6aa235-a422-40d9-9d59-f79f37977284 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DELETE: /v1/nodes/85df0d2f-75ff-4f1d-af2c-7975e36b5ec3/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c7f1e698-814c-4e37-b5a2-078acc94a476 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation for node 85df0d2f-75ff-4f1d-af2c-7975e36b5ec3 was not found\", \"debuginfo\": null}"} DELETE: /v1/allocations/94592522-c679-445d-baa5-015338c3c340 GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow allocations\"}"} GET: /v1/allocations {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow allocations\"}"} GET: /v1/node/c1d3166f-0b58-4836-adfd-8fa310cd15e4/allocation {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/allocations?fields=uuid,extra {} GOT:{'allocations': [{'uuid': '126c195b-f97a-4f41-ac5b-20823efcb795', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/126c195b-f97a-4f41-ac5b-20823efcb795', 'rel': 'self'}, {'href': 'http://localhost/allocations/126c195b-f97a-4f41-ac5b-20823efcb795', 'rel': 'bookmark'}]}, {'uuid': 'a4a1701e-82d4-46ac-96d1-f13eb2586259', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/a4a1701e-82d4-46ac-96d1-f13eb2586259', 'rel': 'self'}, {'href': 'http://localhost/allocations/a4a1701e-82d4-46ac-96d1-f13eb2586259', 'rel': 'bookmark'}]}, {'uuid': '3e3df0ca-def9-46d4-8ce4-fd4d2a488b72', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/3e3df0ca-def9-46d4-8ce4-fd4d2a488b72', 'rel': 'self'}, {'href': 'http://localhost/allocations/3e3df0ca-def9-46d4-8ce4-fd4d2a488b72', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=3e3df0ca-def9-46d4-8ce4-fd4d2a488b72'} GET: /v1/allocations {} GOT:{'allocations': [{'uuid': '1ef119c7-bdce-4d78-ad04-9b22bb1651e2', 'extra': {}, 'node_uuid': None, 'name': 'allocation0', 'links': [{'href': 'http://localhost/v1/allocations/1ef119c7-bdce-4d78-ad04-9b22bb1651e2', 'rel': 'self'}, {'href': 'http://localhost/allocations/1ef119c7-bdce-4d78-ad04-9b22bb1651e2', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:14.175203+00:00', 'updated_at': None}, {'uuid': '75541f3b-cd1d-4349-baae-8149435e9c57', 'extra': {}, 'node_uuid': None, 'name': 'allocation1', 'links': [{'href': 'http://localhost/v1/allocations/75541f3b-cd1d-4349-baae-8149435e9c57', 'rel': 'self'}, {'href': 'http://localhost/allocations/75541f3b-cd1d-4349-baae-8149435e9c57', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:14.177723+00:00', 'updated_at': None}, {'uuid': 'b74229a9-185d-41b5-9836-020f775c6292', 'extra': {}, 'node_uuid': None, 'name': 'allocation2', 'links': [{'href': 'http://localhost/v1/allocations/b74229a9-185d-41b5-9836-020f775c6292', 'rel': 'self'}, {'href': 'http://localhost/allocations/b74229a9-185d-41b5-9836-020f775c6292', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:14.180277+00:00', 'updated_at': None}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=b74229a9-185d-41b5-9836-020f775c6292'} GET: /v1/allocations?node=node-1 {} GOT:{'allocations': [{'uuid': '3b9bd2c2-662b-45be-bbd0-68c231841088', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation0', 'links': [{'href': 'http://localhost/v1/allocations/3b9bd2c2-662b-45be-bbd0-68c231841088', 'rel': 'self'}, {'href': 'http://localhost/allocations/3b9bd2c2-662b-45be-bbd0-68c231841088', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:14.248346+00:00', 'updated_at': None}, {'uuid': '82d1edb8-fd3c-4fa7-a0e9-e8f4d5dca898', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation1', 'links': [{'href': 'http://localhost/v1/allocations/82d1edb8-fd3c-4fa7-a0e9-e8f4d5dca898', 'rel': 'self'}, {'href': 'http://localhost/allocations/82d1edb8-fd3c-4fa7-a0e9-e8f4d5dca898', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:14.250953+00:00', 'updated_at': None}, {'uuid': '5cf6259b-0395-4f42-a18c-bc739c64dfda', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation2', 'links': [{'href': 'http://localhost/v1/allocations/5cf6259b-0395-4f42-a18c-bc739c64dfda', 'rel': 'self'}, {'href': 'http://localhost/allocations/5cf6259b-0395-4f42-a18c-bc739c64dfda', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:14.253491+00:00', 'updated_at': None}]} GET: /v1/allocations/fdd98194-6ea0-4723-9c04-de47b8e7b6c0?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7d2ffb56-58f4-4e80-9faa-9f7449c75dc6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/allocations/257262dd-461a-4a43-9df3-26c11ccbdca0 {} GOT:{'uuid': '257262dd-461a-4a43-9df3-26c11ccbdca0', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/257262dd-461a-4a43-9df3-26c11ccbdca0', 'rel': 'self'}, {'href': 'http://localhost/allocations/257262dd-461a-4a43-9df3-26c11ccbdca0', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:14.424906+00:00', 'updated_at': None} GET: /v1/allocations/c324eaab-4d0b-41c4-b107-6ecd449c6fb4 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow allocations\"}"} GET: /v1/allocations/ba!na!na! {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow allocations\"}"} GET: /v1/allocations/cdde89b2-b2e7-4ab2-8583-98c33174870c {} GOT:{'uuid': 'cdde89b2-b2e7-4ab2-8583-98c33174870c', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'pg.json', 'links': [{'href': 'http://localhost/v1/allocations/cdde89b2-b2e7-4ab2-8583-98c33174870c', 'rel': 'self'}, {'href': 'http://localhost/allocations/cdde89b2-b2e7-4ab2-8583-98c33174870c', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:14.564182+00:00', 'updated_at': None}{1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json_in_name [0.068868s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_suffix [0.067660s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_links [0.240072s] ... ok DELETE: /v1/allocations/650c7b3e-304c-499d-8a6d-d418c381bf62 GOT:Response: 204 No Content Openstack-Request-Id: req-343e81e0-0120-47d3-b544-a4463761680b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 DELETE: /v1/allocations/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a38dd6ea-31be-46d0-b727-49655406ca51 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation blah could not be found.\", \"debuginfo\": null}"} DELETE: /v1/allocations/alloc1.json GOT:Response: 204 No Content Openstack-Request-Id: req-d1fcd12b-d96d-4819-ac74-9a0fa818a2c0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 DELETE: /v1/allocations/ba!na!na1 GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow allocations\"}"} DELETE: /v1/nodes/0f372e50-497d-4cce-89b5-bc399022ed69/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e1c4eff5-0687-4d28-8626-42eaba7f03a1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 0f372e50-497d-4cce-89b5-bc399022ed69 could not be found.\", \"debuginfo\": null}"} DELETE: /v1/allocations/f30aab3c-e22c-488d-99d2-f869db9c15cf GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-947ab2c5-c1bf-4c59-a2b2-5d243c1a284c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} GET: /v1/node/10d11dce-13ea-479e-8fbf-5cc2b589803d/allocation {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/allocations/?limit=3 {} GOT:{'allocations': [{'uuid': '628fde69-3bb4-44b6-9f78-f342a357ce41', 'extra': {}, 'node_uuid': None, 'name': 'allocation0', 'links': [{'href': 'http://localhost/v1/allocations/628fde69-3bb4-44b6-9f78-f342a357ce41', 'rel': 'self'}, {'href': 'http://localhost/allocations/628fde69-3bb4-44b6-9f78-f342a357ce41', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:13.826826+00:00', 'updated_at': None}, {'uuid': 'b3c553ac-c2fe-4c50-8ae2-614216b469f7', 'extra': {}, 'node_uuid': None, 'name': 'allocation1', 'links': [{'href': 'http://localhost/v1/allocations/b3c553ac-c2fe-4c50-8ae2-614216b469f7', 'rel': 'self'}, {'href': 'http://localhost/allocations/b3c553ac-c2fe-4c50-8ae2-614216b469f7', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:13.829413+00:00', 'updated_at': None}, {'uuid': 'c782a955-4c98-4913-8cd9-9d18f8f40710', 'extra': {}, 'node_uuid': None, 'name': 'allocation2', 'links': [{'href': 'http://localhost/v1/allocations/c782a955-4c98-4913-8cd9-9d18f8f40710', 'rel': 'self'}, {'href': 'http://localhost/allocations/c782a955-4c98-4913-8cd9-9d18f8f40710', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:13.831958+00:00', 'updated_at': None}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=c782a955-4c98-4913-8cd9-9d18f8f40710'} GET: /v1/allocations {} GOT:{'allocations': []} GET: /v1/allocations?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'allocations': [{'uuid': '01ae23c6-39b9-41e8-bd30-e71ac61570dc', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/01ae23c6-39b9-41e8-bd30-e71ac61570dc', 'rel': 'self'}, {'href': 'http://localhost/allocations/01ae23c6-39b9-41e8-bd30-e71ac61570dc', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:14.116824+00:00', 'updated_at': None}]} GET: /v1/allocations?node=banana {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-893cfeb1-2220-44d8-8d54-3edb789c0fff X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node banana could not be found.\", \"debuginfo\": null}"} GET: /v1/allocations?state=allocating {} GOT:{'allocations': [{'uuid': 'f6c43e12-4f69-4b7a-9208-e32ae2fbf3ef', 'extra': {}, 'node_uuid': None, 'name': 'allocation0', 'links': [{'href': 'http://localhost/v1/allocations/f6c43e12-4f69-4b7a-9208-e32ae2fbf3ef', 'rel': 'self'}, {'href': 'http://localhost/allocations/f6c43e12-4f69-4b7a-9208-e32ae2fbf3ef', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:14.264380+00:00', 'updated_at': None}, {'uuid': 'b2730571-09f5-4b5a-b240-11f0970a6b8b', 'extra': {}, 'node_uuid': None, 'name': 'allocation1', 'links': [{'href': 'http://localhost/v1/allocations/b2730571-09f5-4b5a-b240-11f0970a6b8b', 'rel': 'self'}, {'href': 'http://localhost/allocations/b2730571-09f5-4b5a-b240-11f0970a6b8b', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:14.266942+00:00', 'updated_at': None}, {'uuid': '8a4325f1-2c54-4494-a823-2e7b7beeebae', 'extra': {}, 'node_uuid': None, 'name': 'allocation2', 'links': [{'href': 'http://localhost/v1/allocations/8a4325f1-2c54-4494-a823-2e7b7beeebae', 'rel': 'self'}, {'href': 'http://localhost/allocations/8a4325f1-2c54-4494-a823-2e7b7beeebae', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:14.269425+00:00', 'updated_at': None}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {} GOT:{'uuid': '8d97e538-c5f1-4af3-aaed-9596e4d2c1ce', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/8d97e538-c5f1-4af3-aaed-9596e4d2c1ce', 'rel': 'self'}, {'href': 'http://localhost/allocations/8d97e538-c5f1-4af3-aaed-9596e4d2c1ce', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:14.337516+00:00', 'updated_at': None} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation/b7237188-3c0f-4827-a446-e3ea318d462d {} GOT:Response: 405 Method Not Allowed Allow: DELETE, GET Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation?fields=name,extra {} GOT:{'extra': {}, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/db594d89-8cc8-4593-9293-28b012be0e33', 'rel': 'self'}, {'href': 'http://localhost/allocations/db594d89-8cc8-4593-9293-28b012be0e33', 'rel': 'bookmark'}]} GET: /v1/allocations?fields=uuid,extra {} GOT:{'allocations': [{'uuid': '49fa279f-b62b-4d67-8db5-0348bfa71168', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/49fa279f-b62b-4d67-8db5-0348bfa71168', 'rel': 'self'}, {'href': 'http://localhost/allocations/49fa279f-b62b-4d67-8db5-0348bfa71168', 'rel': 'bookmark'}]}, {'uuid': '109a72fe-da14-4191-98ec-febf4f5280d8', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/109a72fe-da14-4191-98ec-febf4f5280d8', 'rel': 'self'}, {'href': 'http://localhost/allocations/109a72fe-da14-4191-98ec-febf4f5280d8', 'rel': 'bookmark'}]}, {'uuid': '3a539566-8708-45c9-b9c2-8ec5cf34a14c', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/3a539566-8708-45c9-b9c2-8ec5cf34a14c', 'rel': 'self'}, {'href': 'http://localhost/allocations/3a539566-8708-45c9-b9c2-8ec5cf34a14c', 'rel': 'bookmark'}]}]}{0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_custom_fields [0.133807s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_pagination_no_uuid [0.178440s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_one [0.083292s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_custom_fields [0.126300s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_allowed [0.072879s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json [0.070837s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_invalid [0.118501s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_many [0.117159s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key [0.096350s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add [0.060868s] ... ok GET: /v1/allocations/1be30289-1e80-4e71-a9d6-ffac39a262b1 {} GOT:{'uuid': '1be30289-1e80-4e71-a9d6-ffac39a262b1', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'pg.1', 'links': [{'href': 'http://localhost/v1/allocations/1be30289-1e80-4e71-a9d6-ffac39a262b1', 'rel': 'self'}, {'href': 'http://localhost/allocations/1be30289-1e80-4e71-a9d6-ffac39a262b1', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:14.633557+00:00', 'updated_at': None} GET: /v1/allocations/2a73b39b-759a-462b-84f6-e019580cd084 {} GOT:{'uuid': '2a73b39b-759a-462b-84f6-e019580cd084', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/2a73b39b-759a-462b-84f6-e019580cd084', 'rel': 'self'}, {'href': 'http://localhost/allocations/2a73b39b-759a-462b-84f6-e019580cd084', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:14.728969+00:00', 'updated_at': None} GET: /v1/allocations/2a73b39b-759a-462b-84f6-e019580cd084 {} GOT:{'uuid': '2a73b39b-759a-462b-84f6-e019580cd084', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/2a73b39b-759a-462b-84f6-e019580cd084', 'rel': 'self'}, {'href': 'http://localhost/allocations/2a73b39b-759a-462b-84f6-e019580cd084', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:14.728969+00:00', 'updated_at': None} GET: /allocations/2a73b39b-759a-462b-84f6-e019580cd084 {} GOT:{'uuid': '2a73b39b-759a-462b-84f6-e019580cd084', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/2a73b39b-759a-462b-84f6-e019580cd084', 'rel': 'self'}, {'href': 'http://localhost/allocations/2a73b39b-759a-462b-84f6-e019580cd084', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:14.728969+00:00', 'updated_at': None} GET: /v1/allocations {} GOT:{'allocations': [{'uuid': 'f10839bc-0894-4afa-be77-885760b670a7', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/f10839bc-0894-4afa-be77-885760b670a7', 'rel': 'self'}, {'href': 'http://localhost/allocations/f10839bc-0894-4afa-be77-885760b670a7', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:14.944396+00:00', 'updated_at': None}]} GET: /v1/allocations?sort_key=name {} GOT:{'allocations': [{'uuid': 'aeeee348-a6f7-4aaa-b576-8bd6da2afcb4', 'extra': {}, 'node_uuid': None, 'name': 'allocation1', 'links': [{'href': 'http://localhost/v1/allocations/aeeee348-a6f7-4aaa-b576-8bd6da2afcb4', 'rel': 'self'}, {'href': 'http://localhost/allocations/aeeee348-a6f7-4aaa-b576-8bd6da2afcb4', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.040334+00:00', 'updated_at': None}, {'uuid': 'a9a7ad3c-864b-4aae-94e3-c9a41c081b46', 'extra': {}, 'node_uuid': None, 'name': 'allocation2', 'links': [{'href': 'http://localhost/v1/allocations/a9a7ad3c-864b-4aae-94e3-c9a41c081b46', 'rel': 'self'}, {'href': 'http://localhost/allocations/a9a7ad3c-864b-4aae-94e3-c9a41c081b46', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.037739+00:00', 'updated_at': None}, {'uuid': 'e2b71e6c-4ebc-4130-99c4-b5722b3d6964', 'extra': {}, 'node_uuid': None, 'name': 'allocation3', 'links': [{'href': 'http://localhost/v1/allocations/e2b71e6c-4ebc-4130-99c4-b5722b3d6964', 'rel': 'self'}, {'href': 'http://localhost/allocations/e2b71e6c-4ebc-4130-99c4-b5722b3d6964', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.035163+00:00', 'updated_at': None}]} GET: /v1/allocations?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e11755ab-ba2c-4f9d-9ddf-ab350ac32fa0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/allocations?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2f1c93c2-81a6-44e5-ac64-8b1292ce407d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/allocations?sort_key=internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fef1388d-aab9-468c-bf44-47e5b8d0ed7e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"internal_info\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/allocations?sort_key=properties {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9fb4c22c-9a5f-4b5b-94ca-5784de56922d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"properties\\\" is an invalid field for sorting\", \"debuginfo\": null}"} PATCH: /v1/allocations/1b8a3e49-414e-4899-a6e4-13e1509ae636 [{'path': '/extra/foo2', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-71ccbc8e-465e-408f-8ab1-9ac244b7aaa6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1b8a3e49-414e-4899-a6e4-13e1509ae636", "extra": {"foo1": "bar1", "foo3": "bar3"}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/1b8a3e49-414e-4899-a6e4-13e1509ae636", "rel": "self"}, {"href": "http://localhost/allocations/1b8a3e49-414e-4899-a6e4-13e1509ae636", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "candidate_nodes": [], "traits": [], "created_at": "2020-05-04T22:34:15.218964+00:00", "updated_at": "2020-05-04T22:34:15.256645+00:00"} GET: /v1/allocations/1b8a3e49-414e-4899-a6e4-13e1509ae636 {} GOT:{'uuid': '1b8a3e49-414e-4899-a6e4-13e1509ae636', 'extra': {'foo1': 'bar1', 'foo3': 'bar3'}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/1b8a3e49-414e-4899-a6e4-13e1509ae636', 'rel': 'self'}, {'href': 'http://localhost/allocations/1b8a3e49-414e-4899-a6e4-13e1509ae636', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.218964+00:00', 'updated_at': '2020-05-04T22:34:15.256645+00:00'} PATCH: /v1/allocations/1b8a3e49-414e-4899-a6e4-13e1509ae636 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e03221b4-7fdf-4aa1-871b-303eed263737 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1b8a3e49-414e-4899-a6e4-13e1509ae636", "extra": {}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/1b8a3e49-414e-4899-a6e4-13e1509ae636", "rel": "self"}, {"href": "http://localhost/allocations/1b8a3e49-414e-4899-a6e4-13e1509ae636", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "candidate_nodes": [], "traits": [], "created_at": "2020-05-04T22:34:15.218964+00:00", "updated_at": "2020-05-04T22:34:15.311607+00:00"}{1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_multi [0.173275s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_non_existent_property_fail [0.084017s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_singular [0.154444s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_invalid_name [0.068873s] ... ok GET: /v1/allocations?fields=node_uuid&limit=2 {} GOT:{'allocations': [{'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/allocations/5e4b6502-d2dc-447b-9858-0f8b1d35f5b7', 'rel': 'self'}, {'href': 'http://localhost/allocations/5e4b6502-d2dc-447b-9858-0f8b1d35f5b7', 'rel': 'bookmark'}]}, {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/allocations/a08eef7a-6b62-49e9-88c6-6e56090c8848', 'rel': 'self'}, {'href': 'http://localhost/allocations/a08eef7a-6b62-49e9-88c6-6e56090c8848', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&fields=node_uuid&limit=2&marker=a08eef7a-6b62-49e9-88c6-6e56090c8848'} GET: /v1/allocations/7b373300-a7ca-4777-9e10-fba728fe263b?fields=resource_class,extra {} GOT:{'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/7b373300-a7ca-4777-9e10-fba728fe263b', 'rel': 'self'}, {'href': 'http://localhost/allocations/7b373300-a7ca-4777-9e10-fba728fe263b', 'rel': 'bookmark'}], 'resource_class': 'baremetal'} GET: /v1/allocations/4f0ac96e-5255-4714-9b4d-5db817104f88.json {} GOT:{'uuid': '4f0ac96e-5255-4714-9b4d-5db817104f88', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/4f0ac96e-5255-4714-9b4d-5db817104f88', 'rel': 'self'}, {'href': 'http://localhost/allocations/4f0ac96e-5255-4714-9b4d-5db817104f88', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.052794+00:00', 'updated_at': None} GET: /v1/allocations {} GOT:{'allocations': [{'uuid': '787e4f9c-4d68-4d70-be24-3846b8ef00b3', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation0', 'links': [{'href': 'http://localhost/v1/allocations/787e4f9c-4d68-4d70-be24-3846b8ef00b3', 'rel': 'self'}, {'href': 'http://localhost/allocations/787e4f9c-4d68-4d70-be24-3846b8ef00b3', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.123628+00:00', 'updated_at': None}, {'uuid': 'b15abecf-e8af-4c45-9909-504fc6f1503c', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation1', 'links': [{'href': 'http://localhost/v1/allocations/b15abecf-e8af-4c45-9909-504fc6f1503c', 'rel': 'self'}, {'href': 'http://localhost/allocations/b15abecf-e8af-4c45-9909-504fc6f1503c', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.126227+00:00', 'updated_at': None}, {'uuid': '61a18376-cfff-4c89-a891-f7c818ee82bc', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation2', 'links': [{'href': 'http://localhost/v1/allocations/61a18376-cfff-4c89-a891-f7c818ee82bc', 'rel': 'self'}, {'href': 'http://localhost/allocations/61a18376-cfff-4c89-a891-f7c818ee82bc', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.128723+00:00', 'updated_at': None}, {'uuid': '1aec1176-dc8f-46b2-b9a5-be2d3c50afbb', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation3', 'links': [{'href': 'http://localhost/v1/allocations/1aec1176-dc8f-46b2-b9a5-be2d3c50afbb', 'rel': 'self'}, {'href': 'http://localhost/allocations/1aec1176-dc8f-46b2-b9a5-be2d3c50afbb', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.131265+00:00', 'updated_at': None}, {'uuid': 'c5efac4e-a1e6-4464-8407-fe7172758cba', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation4', 'links': [{'href': 'http://localhost/v1/allocations/c5efac4e-a1e6-4464-8407-fe7172758cba', 'rel': 'self'}, {'href': 'http://localhost/allocations/c5efac4e-a1e6-4464-8407-fe7172758cba', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.133784+00:00', 'updated_at': None}]} GET: /v1/allocations?sort_key=uuid {} GOT:{'allocations': [{'uuid': '0df6429e-ade7-4c26-87b1-df704a8c3eee', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation1', 'links': [{'href': 'http://localhost/v1/allocations/0df6429e-ade7-4c26-87b1-df704a8c3eee', 'rel': 'self'}, {'href': 'http://localhost/allocations/0df6429e-ade7-4c26-87b1-df704a8c3eee', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.246894+00:00', 'updated_at': None}, {'uuid': '6d5ec662-4c0d-4c3e-805e-04ea1b72937c', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation2', 'links': [{'href': 'http://localhost/v1/allocations/6d5ec662-4c0d-4c3e-805e-04ea1b72937c', 'rel': 'self'}, {'href': 'http://localhost/allocations/6d5ec662-4c0d-4c3e-805e-04ea1b72937c', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.249355+00:00', 'updated_at': None}, {'uuid': 'a89bd6fc-09d3-42aa-8924-c62a40358a08', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation0', 'links': [{'href': 'http://localhost/v1/allocations/a89bd6fc-09d3-42aa-8924-c62a40358a08', 'rel': 'self'}, {'href': 'http://localhost/allocations/a89bd6fc-09d3-42aa-8924-c62a40358a08', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.244345+00:00', 'updated_at': None}]} PATCH: /v1/allocations/b0d8f154-a1fa-4e28-941f-bc317c6cf453 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2c166a4d-b8cc-40a5-b515-3a048fc5f303 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "b0d8f154-a1fa-4e28-941f-bc317c6cf453", "extra": {"foo": "bar"}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/b0d8f154-a1fa-4e28-941f-bc317c6cf453", "rel": "self"}, {"href": "http://localhost/allocations/b0d8f154-a1fa-4e28-941f-bc317c6cf453", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "candidate_nodes": [], "traits": [], "created_at": "2020-05-04T22:34:15.331645+00:00", "updated_at": "2020-05-04T22:34:15.368194+00:00"} PATCH: /v1/allocations/62ca0e7e-0109-417b-b94d-a948e8075a98 [{'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-e6d2fed6-80ce-4291-a84e-ad1ed7f39765 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "62ca0e7e-0109-417b-b94d-a948e8075a98", "extra": {"foo1": "bar1", "foo2": "bar2"}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/62ca0e7e-0109-417b-b94d-a948e8075a98", "rel": "self"}, {"href": "http://localhost/allocations/62ca0e7e-0109-417b-b94d-a948e8075a98", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "candidate_nodes": [], "traits": [], "created_at": "2020-05-04T22:34:15.392558+00:00", "updated_at": "2020-05-04T22:34:15.435187+00:00"} GET: /v1/allocations/62ca0e7e-0109-417b-b94d-a948e8075a98 {} GOT:{'uuid': '62ca0e7e-0109-417b-b94d-a948e8075a98', 'extra': {'foo1': 'bar1', 'foo2': 'bar2'}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/62ca0e7e-0109-417b-b94d-a948e8075a98', 'rel': 'self'}, {'href': 'http://localhost/allocations/62ca0e7e-0109-417b-b94d-a948e8075a98', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.392558+00:00', 'updated_at': '2020-05-04T22:34:15.435187+00:00'}{0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_multi [0.120253s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_non_existent [0.062655s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_uuid [0.048215s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_multi [0.122345s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_singular [0.097991s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_name_with_none [0.082447s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_allowed [0.046504s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_error [0.058646s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_found [0.050341s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill [0.108668s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_not_found [0.048448s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_candidate_node_format [0.050221s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_copy_instance_uuid [0.107880s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_invalid [0.059671s] ... ok GET: /v1/allocations/1b8a3e49-414e-4899-a6e4-13e1509ae636 {} GOT:{'uuid': '1b8a3e49-414e-4899-a6e4-13e1509ae636', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/1b8a3e49-414e-4899-a6e4-13e1509ae636', 'rel': 'self'}, {'href': 'http://localhost/allocations/1b8a3e49-414e-4899-a6e4-13e1509ae636', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.218964+00:00', 'updated_at': '2020-05-04T22:34:15.311607+00:00'} PATCH: /v1/allocations/11ec7a80-ca23-459e-91b2-80465bba15aa [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-279d9b4f-83f2-4fe2-bd3b-f2eb228d9d5b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} PATCH: /v1/allocations/0053f5e6-de45-4644-a7fc-0ae92f68b27e [{'path': '/extra/a', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-849b2acd-6fd2-4125-b357-cf7d6e5e7ac4 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "0053f5e6-de45-4644-a7fc-0ae92f68b27e", "extra": {}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/0053f5e6-de45-4644-a7fc-0ae92f68b27e", "rel": "self"}, {"href": "http://localhost/allocations/0053f5e6-de45-4644-a7fc-0ae92f68b27e", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "candidate_nodes": [], "traits": [], "created_at": "2020-05-04T22:34:15.475277+00:00", "updated_at": "2020-05-04T22:34:15.543325+00:00"} GET: /v1/allocations/0053f5e6-de45-4644-a7fc-0ae92f68b27e {} GOT:{'uuid': '0053f5e6-de45-4644-a7fc-0ae92f68b27e', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/0053f5e6-de45-4644-a7fc-0ae92f68b27e', 'rel': 'self'}, {'href': 'http://localhost/allocations/0053f5e6-de45-4644-a7fc-0ae92f68b27e', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.475277+00:00', 'updated_at': '2020-05-04T22:34:15.543325+00:00'} PATCH: /v1/allocations/729b89b6-ba67-46f6-9eef-0773ec54b3d6 [{'path': '/name', 'value': '[test]', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3bc7a6d4-8a10-49b3-b942-d73010ea7e08 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update allocation with invalid name '[test]'\", \"debuginfo\": null}"} PATCH: /v1/allocations/664a977b-bf85-4cdd-99ac-b70187958bee [{'path': '/name', 'value': 'test', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1cffb1c9-de43-487c-b6bd-e81791a2e7cc X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "664a977b-bf85-4cdd-99ac-b70187958bee", "extra": {}, "node_uuid": null, "name": "test", "links": [{"href": "http://localhost/v1/allocations/664a977b-bf85-4cdd-99ac-b70187958bee", "rel": "self"}, {"href": "http://localhost/allocations/664a977b-bf85-4cdd-99ac-b70187958bee", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "candidate_nodes": [], "traits": [], "created_at": "2020-05-04T22:34:15.697095+00:00", "updated_at": "2000-01-01T00:00:00+00:00"} GET: /v1/allocations/664a977b-bf85-4cdd-99ac-b70187958bee {} GOT:{'uuid': '664a977b-bf85-4cdd-99ac-b70187958bee', 'extra': {}, 'node_uuid': None, 'name': 'test', 'links': [{'href': 'http://localhost/v1/allocations/664a977b-bf85-4cdd-99ac-b70187958bee', 'rel': 'self'}, {'href': 'http://localhost/allocations/664a977b-bf85-4cdd-99ac-b70187958bee', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.697095+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} PATCH: /v1/allocations/f5075a2f-5f80-489a-a9fc-7d0c2e71adf3 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 405 Method Not Allowed Content-Type: application/json Openstack-Request-Id: req-bd0c40c7-732c-4b8c-97cc-94c5a50a72d1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The API version does not allow updating allocations\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'af201276-52ed-4592-bda4-c9c0bd18dbc8', 'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/af201276-52ed-4592-bda4-c9c0bd18dbc8 Openstack-Request-Id: req-a927608d-f4bc-44d0-913e-1df8a4a88fbe X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "af201276-52ed-4592-bda4-c9c0bd18dbc8", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/allocations/af201276-52ed-4592-bda4-c9c0bd18dbc8", "rel": "self"}, {"href": "http://localhost/allocations/af201276-52ed-4592-bda4-c9c0bd18dbc8", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "candidate_nodes": [], "traits": [], "created_at": "2020-05-04T22:34:15.885450+00:00", "updated_at": null} GET: /v1/allocations/af201276-52ed-4592-bda4-c9c0bd18dbc8 {} GOT:{'uuid': 'af201276-52ed-4592-bda4-c9c0bd18dbc8', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/af201276-52ed-4592-bda4-c9c0bd18dbc8', 'rel': 'self'}, {'href': 'http://localhost/allocations/af201276-52ed-4592-bda4-c9c0bd18dbc8', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.885450+00:00', 'updated_at': None} POST: /v1/allocations {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/f0b01420-2727-4ee2-99dd-513bc15c1484 Openstack-Request-Id: req-65bb3735-0e5c-4daf-b410-7690f586847d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "f0b01420-2727-4ee2-99dd-513bc15c1484", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/allocations/f0b01420-2727-4ee2-99dd-513bc15c1484", "rel": "self"}, {"href": "http://localhost/allocations/f0b01420-2727-4ee2-99dd-513bc15c1484", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "bm-super", "candidate_nodes": [], "traits": [], "created_at": "2020-05-04T22:34:15.993261+00:00", "updated_at": null} GET: /v1/allocations/f0b01420-2727-4ee2-99dd-513bc15c1484 {} GOT:{'uuid': 'f0b01420-2727-4ee2-99dd-513bc15c1484', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/f0b01420-2727-4ee2-99dd-513bc15c1484', 'rel': 'self'}, {'href': 'http://localhost/allocations/f0b01420-2727-4ee2-99dd-513bc15c1484', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'bm-super', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.993261+00:00', 'updated_at': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'dc1647b9-96dd-4c21-aea5-0154184e0193', 'node': 'fb8d239d-470a-4c4d-b48b-6a85509de3cb'}{1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_node_not_found [0.058361s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_not_allowed [0.066991s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_with_name [0.193901s] ... ok PATCH: /v1/allocations/b9ab5cf8-f6f7-4cd4-8a56-be58d87c2d38 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-73407881-7582-447c-820b-7894ba8dd7d3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update /foo in an allocation. Only 'name' and 'extra' are allowed to be updated.\", \"debuginfo\": null}"} PATCH: /v1/allocations/2d1e86b1-be96-4107-b5cc-fd80ef3114ff [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6183bbbb-4bf7-409c-87b3-b72a8d67f2cb X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\", \"debuginfo\": null}"} PATCH: /v1/allocations/89d51368-7d84-4930-a9fc-8e56b9b62755 [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a2b7c018-7744-4d3d-b701-fd636896033a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "89d51368-7d84-4930-a9fc-8e56b9b62755", "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/89d51368-7d84-4930-a9fc-8e56b9b62755", "rel": "self"}, {"href": "http://localhost/allocations/89d51368-7d84-4930-a9fc-8e56b9b62755", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "candidate_nodes": [], "traits": [], "created_at": "2020-05-04T22:34:15.631045+00:00", "updated_at": "2020-05-04T22:34:15.672873+00:00"} GET: /v1/allocations/89d51368-7d84-4930-a9fc-8e56b9b62755 {} GOT:{'uuid': '89d51368-7d84-4930-a9fc-8e56b9b62755', 'extra': {'foo1': 'bar1', 'foo2': 'new value', 'foo3': 'bar3'}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/89d51368-7d84-4930-a9fc-8e56b9b62755', 'rel': 'self'}, {'href': 'http://localhost/allocations/89d51368-7d84-4930-a9fc-8e56b9b62755', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.631045+00:00', 'updated_at': '2020-05-04T22:34:15.672873+00:00'} PATCH: /v1/allocations/e5542b90-aab4-4d48-b644-87464d6c7084 [{'path': '/name', 'value': None, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-546d1e1d-0520-4c2d-8195-49774fd2a6b6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "e5542b90-aab4-4d48-b644-87464d6c7084", "extra": {}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/e5542b90-aab4-4d48-b644-87464d6c7084", "rel": "self"}, {"href": "http://localhost/allocations/e5542b90-aab4-4d48-b644-87464d6c7084", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "candidate_nodes": [], "traits": [], "created_at": "2020-05-04T22:34:15.747134+00:00", "updated_at": null} GET: /v1/allocations/e5542b90-aab4-4d48-b644-87464d6c7084 {} GOT:{'uuid': 'e5542b90-aab4-4d48-b644-87464d6c7084', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/e5542b90-aab4-4d48-b644-87464d6c7084', 'rel': 'self'}, {'href': 'http://localhost/allocations/e5542b90-aab4-4d48-b644-87464d6c7084', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:15.747134+00:00', 'updated_at': None} PATCH: /v1/allocations/87f14347-e2f0-418e-a1f6-ffe3130d223c [{'path': '/name', 'value': 'new', 'op': 'replace'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f6c2808a-aea7-45d5-965f-9183e60ed142 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} PATCH: /v1/allocations/71107327-4b9f-40dc-97fe-2b523cdb6d7f [{'path': '/name', 'value': 'b', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-468dd2d9-bd8f-4e9f-b39f-922ab6260c6e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 71107327-4b9f-40dc-97fe-2b523cdb6d7f could not be found.\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': ['1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '36ee211f-60a8-477e-98df-d5daa8018a04'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-21f4564c-0e39-4db5-b7fa-99f13589fd0a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': ['invalid-format'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '551a5f95-1e12-4ca1-972b-7ae6328ab37d'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-765b9bac-69f0-4ed0-b1dc-36ce2aa57c85 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: invalid-format\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': 'aa:bb_cc', 'resource_class': 'baremetal', 'traits': [], 'uuid': 'c16e2412-4b52-4c71-845e-763bb9264c11'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7ba9ba0f-cf87-461e-b6e9-1ade0811f29f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create allocation with invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': 'foo', 'resource_class': 'baremetal', 'traits': [], 'uuid': 'be147a28-7bb3-4342-a411-69e5a9bc0579'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/be147a28-7bb3-4342-a411-69e5a9bc0579 Openstack-Request-Id: req-5dad7716-59c3-45c2-b7ab-0501eebaf3b9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "be147a28-7bb3-4342-a411-69e5a9bc0579", "extra": {}, "node_uuid": null, "name": "foo", "links": [{"href": "http://localhost/v1/allocations/be147a28-7bb3-4342-a411-69e5a9bc0579", "rel": "self"}, {"href": "http://localhost/allocations/be147a28-7bb3-4342-a411-69e5a9bc0579", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "candidate_nodes": [], "traits": [], "created_at": "2020-05-04T22:34:16.163959+00:00", "updated_at": null} GET: /v1/allocations/be147a28-7bb3-4342-a411-69e5a9bc0579 {} GOT:{'uuid': 'be147a28-7bb3-4342-a411-69e5a9bc0579', 'extra': {}, 'node_uuid': None, 'name': 'foo', 'links': [{'href': 'http://localhost/v1/allocations/be147a28-7bb3-4342-a411-69e5a9bc0579', 'rel': 'self'}, {'href': 'http://localhost/allocations/be147a28-7bb3-4342-a411-69e5a9bc0579', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:16.163959+00:00', 'updated_at': None}{0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_ok [0.097072s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_resource_class_too_long [0.084359s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_valid_extra [0.171140s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_without_resource_class [0.125748s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_by_node_not_allowed [0.072600s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation [0.077519s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_node_uuid_not_allowed [0.053945s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestChassisObject.test_chassis_init [0.010261s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestChassisObject.test_chassis_sample [0.010258s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_invalid [0.045354s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_doesnt_contain_id [0.075529s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis [0.094235s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_with_node [0.075464s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_custom_fields [0.072334s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a9efc8ea-b875-4d66-ab35-c2f1b4e77b4d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fb8d239d-470a-4c4d-b48b-6a85509de3cb could not be found.\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '94bd7c8b-5a5b-4b05-b70e-345a5c4122ae', 'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-652e16e0-92ff-4033-ae63-a5f136ca93ac X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.57 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot set node when creating an allocation in this API version\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '83b31e60-3a27-43ff-8253-21553c9dc9f7', 'node': 'backfill-me'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/83b31e60-3a27-43ff-8253-21553c9dc9f7 Openstack-Request-Id: req-34514df9-31bc-41ec-b933-d4cc28c45ba6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "83b31e60-3a27-43ff-8253-21553c9dc9f7", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/allocations/83b31e60-3a27-43ff-8253-21553c9dc9f7", "rel": "self"}, {"href": "http://localhost/allocations/83b31e60-3a27-43ff-8253-21553c9dc9f7", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "candidate_nodes": [], "traits": [], "created_at": "2020-05-04T22:34:16.285247+00:00", "updated_at": null} GET: /v1/allocations/83b31e60-3a27-43ff-8253-21553c9dc9f7 {} GOT:{'uuid': '83b31e60-3a27-43ff-8253-21553c9dc9f7', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/83b31e60-3a27-43ff-8253-21553c9dc9f7', 'rel': 'self'}, {'href': 'http://localhost/allocations/83b31e60-3a27-43ff-8253-21553c9dc9f7', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:16.285247+00:00', 'updated_at': None} POST: /v1/allocations {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/511a5b6d-5889-4ba6-9111-b167b6137902 Openstack-Request-Id: req-69a10010-e2c1-4a4c-9c9c-6cff0afa5e08 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "511a5b6d-5889-4ba6-9111-b167b6137902", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/allocations/511a5b6d-5889-4ba6-9111-b167b6137902", "rel": "self"}, {"href": "http://localhost/allocations/511a5b6d-5889-4ba6-9111-b167b6137902", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "bm-super", "candidate_nodes": [], "traits": [], "created_at": "2020-05-04T22:34:16.426429+00:00", "updated_at": null} GET: /v1/allocations/511a5b6d-5889-4ba6-9111-b167b6137902 {} GOT:{'uuid': '511a5b6d-5889-4ba6-9111-b167b6137902', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/511a5b6d-5889-4ba6-9111-b167b6137902', 'rel': 'self'}, {'href': 'http://localhost/allocations/511a5b6d-5889-4ba6-9111-b167b6137902', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'bm-super', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:16.426429+00:00', 'updated_at': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'a3d4f7e1-522e-47ef-bcda-90035b971c8e'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/a3d4f7e1-522e-47ef-bcda-90035b971c8e Openstack-Request-Id: req-32285b40-9e3f-49c2-b0bf-389a793c0ee0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "a3d4f7e1-522e-47ef-bcda-90035b971c8e", "extra": {}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/a3d4f7e1-522e-47ef-bcda-90035b971c8e", "rel": "self"}, {"href": "http://localhost/allocations/a3d4f7e1-522e-47ef-bcda-90035b971c8e", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "candidate_nodes": [], "traits": [], "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} GET: /v1/allocations/a3d4f7e1-522e-47ef-bcda-90035b971c8e {} GOT:{'uuid': 'a3d4f7e1-522e-47ef-bcda-90035b971c8e', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/a3d4f7e1-522e-47ef-bcda-90035b971c8e', 'rel': 'self'}, {'href': 'http://localhost/allocations/a3d4f7e1-522e-47ef-bcda-90035b971c8e', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None} POST: /v1/allocations {'candidate_nodes': ['this/is/not a/node/name'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'bb647cd4-fe98-4a16-923b-cf27115f6fcb'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fd3577d0-5358-4839-80ce-10e4790cd7c0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: this/is/not a/node/name\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {'foo': 123}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '50990ca5-755c-4c9e-bed9-61c33cbc2b85'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/50990ca5-755c-4c9e-bed9-61c33cbc2b85 Openstack-Request-Id: req-30ff1c5d-9844-4c9b-a37c-fd838a8072e1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "50990ca5-755c-4c9e-bed9-61c33cbc2b85", "extra": {"foo": 123}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/50990ca5-755c-4c9e-bed9-61c33cbc2b85", "rel": "self"}, {"href": "http://localhost/allocations/50990ca5-755c-4c9e-bed9-61c33cbc2b85", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "candidate_nodes": [], "traits": [], "created_at": "2020-05-04T22:34:16.663471+00:00", "updated_at": null} GET: /v1/allocations/50990ca5-755c-4c9e-bed9-61c33cbc2b85 {} GOT:{'uuid': '50990ca5-755c-4c9e-bed9-61c33cbc2b85', 'extra': {'foo': 123}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/50990ca5-755c-4c9e-bed9-61c33cbc2b85', 'rel': 'self'}, {'href': 'http://localhost/allocations/50990ca5-755c-4c9e-bed9-61c33cbc2b85', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:16.663471+00:00', 'updated_at': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '45545577-eb97-4039-8250-8d5929d6c249'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-1a67439e-655b-4922-90b2-ec8f409a0a78 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_error [0.057444s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_generate_uuid [0.167058s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_api_version [0.026824s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query_false [0.108783s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_trait [0.043808s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_and_fields [0.049179s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_no_mandatory_field_resource_class [0.044170s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_custom_fields [0.058860s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_candidate_nodes [0.092581s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_no_extra [0.050616s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_traits [0.075728s] ... ok POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'traits': [], 'uuid': 'b6d400e0-ef16-41bd-8697-2c56aff21d5a'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a1427849-0e80-4dd3-814a-145de62da9a1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute resource_class. Value: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'. Value should have a maximum character requirement of 80\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'e463c22e-38e0-4eda-90ca-fd022f111b31'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/e463c22e-38e0-4eda-90ca-fd022f111b31 Openstack-Request-Id: req-60b07cc7-7a5e-4596-9ce8-bf83f6c2ec2f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "e463c22e-38e0-4eda-90ca-fd022f111b31", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/e463c22e-38e0-4eda-90ca-fd022f111b31", "rel": "self"}, {"href": "http://localhost/allocations/e463c22e-38e0-4eda-90ca-fd022f111b31", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "candidate_nodes": [], "traits": [], "created_at": "2020-05-04T22:34:16.384014+00:00", "updated_at": null} GET: /v1/allocations/e463c22e-38e0-4eda-90ca-fd022f111b31 {} GOT:{'uuid': 'e463c22e-38e0-4eda-90ca-fd022f111b31', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/e463c22e-38e0-4eda-90ca-fd022f111b31', 'rel': 'self'}, {'href': 'http://localhost/allocations/e463c22e-38e0-4eda-90ca-fd022f111b31', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:16.384014+00:00', 'updated_at': None} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '5b9f0adf-4070-4768-8ce4-0ab1d582c8c8'} GOT:Response: 405 Method Not Allowed Allow: DELETE, GET Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '16848dab-6bb4-445e-9edb-cc45157d807f', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7d2e2923-f6b3-4fb1-a9b7-f2b7ed8b52e1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'. Cannot set read only field.\", \"debuginfo\": null}"} DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 204 No Content Openstack-Request-Id: req-08cc379c-16c4-4300-baee-1e8c8fa2a915 X-Openstack-Ironic-Api-Maximum-Version: 1.58 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-8e014263-9c72-4a65-a99b-916eb5e23901 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis e74c40e0-d825-11e2-a28f-0800200c9a66 could not be found.\", \"debuginfo\": null}"} DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a8c0a97e-1405-4add-ad1a-46dba0da1ec8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot complete the requested action because chassis e74c40e0-d825-11e2-a28f-0800200c9a66 contains nodes.\", \"debuginfo\": null}"} GET: /v1/chassis?fields=extra,uuid {} GOT:{'chassis': [{'uuid': '69ce04e0-908e-4683-a895-d840f65bd243', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/69ce04e0-908e-4683-a895-d840f65bd243', 'rel': 'self'}, {'href': 'http://localhost/chassis/69ce04e0-908e-4683-a895-d840f65bd243', 'rel': 'bookmark'}]}, {'uuid': '50572b3b-e0a3-4d93-90c3-dcf0bc13806c', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/50572b3b-e0a3-4d93-90c3-dcf0bc13806c', 'rel': 'self'}, {'href': 'http://localhost/chassis/50572b3b-e0a3-4d93-90c3-dcf0bc13806c', 'rel': 'bookmark'}]}, {'uuid': 'b2bc2c8e-cb54-4228-a5dd-a4930bb49c9d', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/b2bc2c8e-cb54-4228-a5dd-a4930bb49c9d', 'rel': 'self'}, {'href': 'http://localhost/chassis/b2bc2c8e-cb54-4228-a5dd-a4930bb49c9d', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra,uuid&limit=3&marker=b2bc2c8e-cb54-4228-a5dd-a4930bb49c9d'} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}]}]} GET: /v1/chassis?detail=False {} GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}]}]} GET: /v1/chassis?detail=True&fields=description {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-884cd51d-ca9e-431c-9a5e-e53d2a8df51b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} GET: /v1/chassis?fields=uuid,extra {} GOT:{'chassis': [{'uuid': '193706cb-8e9d-4667-b4b7-4c1ce2efc962', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/193706cb-8e9d-4667-b4b7-4c1ce2efc962', 'rel': 'self'}, {'href': 'http://localhost/chassis/193706cb-8e9d-4667-b4b7-4c1ce2efc962', 'rel': 'bookmark'}]}, {'uuid': '82df7d8c-c0bd-4d56-ba97-16ffaf99bde6', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/82df7d8c-c0bd-4d56-ba97-16ffaf99bde6', 'rel': 'self'}, {'href': 'http://localhost/chassis/82df7d8c-c0bd-4d56-ba97-16ffaf99bde6', 'rel': 'bookmark'}]}, {'uuid': 'c83b3d48-8043-4c76-b3dc-7e921b2906d4', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/c83b3d48-8043-4c76-b3dc-7e921b2906d4', 'rel': 'self'}, {'href': 'http://localhost/chassis/c83b3d48-8043-4c76-b3dc-7e921b2906d4', 'rel': 'bookmark'}]}]} GET: /v1/chassis?fields=extra&limit=2 {} GOT:{'chassis': [{'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/21341c8a-1a2d-4cbc-88f1-6ae3e5a6dc59', 'rel': 'self'}, {'href': 'http://localhost/chassis/21341c8a-1a2d-4cbc-88f1-6ae3e5a6dc59', 'rel': 'bookmark'}]}, {'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/edc622a1-83a6-471b-addc-e785f0e530b2', 'rel': 'self'}, {'href': 'http://localhost/chassis/edc622a1-83a6-471b-addc-e785f0e530b2', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra&limit=2&marker=edc622a1-83a6-471b-addc-e785f0e530b2'}{0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_pagination_no_uuid [0.065616s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_fields [0.112487s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_not_found [0.064422s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one_custom_fields [0.089958s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_chassis_not_found [0.052383s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_link [0.050884s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root_non_existent [0.091325s] ... ok POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': []} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/a27436a2-0625-4bde-b509-1a05b38a96ca Openstack-Request-Id: req-4760af12-9179-4fd2-8dc8-1721b3464a43 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "a27436a2-0625-4bde-b509-1a05b38a96ca", "extra": {}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/a27436a2-0625-4bde-b509-1a05b38a96ca", "rel": "self"}, {"href": "http://localhost/allocations/a27436a2-0625-4bde-b509-1a05b38a96ca", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "candidate_nodes": [], "traits": [], "created_at": "2020-05-04T22:34:16.851402+00:00", "updated_at": null} GET: /v1/allocations/a27436a2-0625-4bde-b509-1a05b38a96ca {} GOT:{'uuid': 'a27436a2-0625-4bde-b509-1a05b38a96ca', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/a27436a2-0625-4bde-b509-1a05b38a96ca', 'rel': 'self'}, {'href': 'http://localhost/allocations/a27436a2-0625-4bde-b509-1a05b38a96ca', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2020-05-04T22:34:16.851402+00:00', 'updated_at': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '0e708d67-67bb-4d9a-b2fa-a6cd4dd80820'} GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow allocations\"}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'FOO_BAR'], 'uuid': '902e23b0-0f30-41a8-9cc0-0830b227f1c1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e7931070-d795-4c05-b132-984651870793 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'traits': [], 'uuid': '3e0e9de3-dc63-4d17-aa63-df796955c140'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8416f174-49d6-45d9-ad0c-b4664dbb33f0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The resource_class field is mandatory when not backfilling\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': ['node-1', 'dffa5225-06a0-43ac-9385-195a4107b8ef'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '2e9f68f5-da30-484e-a701-b8b993cf2e62'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/2e9f68f5-da30-484e-a701-b8b993cf2e62 Openstack-Request-Id: req-8d2b84df-66bd-4ccb-af93-67fbf4cba598 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "2e9f68f5-da30-484e-a701-b8b993cf2e62", "extra": {}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/2e9f68f5-da30-484e-a701-b8b993cf2e62", "rel": "self"}, {"href": "http://localhost/allocations/2e9f68f5-da30-484e-a701-b8b993cf2e62", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "candidate_nodes": ["1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "dffa5225-06a0-43ac-9385-195a4107b8ef"], "traits": [], "created_at": "2020-05-04T22:34:17.098215+00:00", "updated_at": null} GET: /v1/allocations/2e9f68f5-da30-484e-a701-b8b993cf2e62 {} GOT:{'uuid': '2e9f68f5-da30-484e-a701-b8b993cf2e62', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/2e9f68f5-da30-484e-a701-b8b993cf2e62', 'rel': 'self'}, {'href': 'http://localhost/allocations/2e9f68f5-da30-484e-a701-b8b993cf2e62', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': ['1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'dffa5225-06a0-43ac-9385-195a4107b8ef'], 'traits': [], 'created_at': '2020-05-04T22:34:17.098215+00:00', 'updated_at': None} POST: /v1/allocations {'candidate_nodes': [], 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '596f4812-29f7-4fbf-8625-722d9acdee20'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/596f4812-29f7-4fbf-8625-722d9acdee20 Openstack-Request-Id: req-c0fd7b65-f9e8-48e9-87ec-351975793458 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "596f4812-29f7-4fbf-8625-722d9acdee20", "extra": {}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/596f4812-29f7-4fbf-8625-722d9acdee20", "rel": "self"}, {"href": "http://localhost/allocations/596f4812-29f7-4fbf-8625-722d9acdee20", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "candidate_nodes": [], "traits": [], "created_at": "2020-05-04T22:34:17.173356+00:00", "updated_at": null} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'CUSTOM_FOO_BAR'], 'uuid': '3a2c0b2b-e475-4b3e-b435-7d13e22d5992'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/3a2c0b2b-e475-4b3e-b435-7d13e22d5992 Openstack-Request-Id: req-bf17f801-7042-4734-bd14-4a110e9669b8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "3a2c0b2b-e475-4b3e-b435-7d13e22d5992", "extra": {}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/3a2c0b2b-e475-4b3e-b435-7d13e22d5992", "rel": "self"}, {"href": "http://localhost/allocations/3a2c0b2b-e475-4b3e-b435-7d13e22d5992", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "candidate_nodes": [], "traits": ["CUSTOM_GPU", "CUSTOM_FOO_BAR"], "created_at": "2020-05-04T22:34:17.224729+00:00", "updated_at": null} GET: /v1/allocations/3a2c0b2b-e475-4b3e-b435-7d13e22d5992 {} GOT:{'uuid': '3a2c0b2b-e475-4b3e-b435-7d13e22d5992', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/3a2c0b2b-e475-4b3e-b435-7d13e22d5992', 'rel': 'self'}, {'href': 'http://localhost/allocations/3a2c0b2b-e475-4b3e-b435-7d13e22d5992', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': ['CUSTOM_GPU', 'CUSTOM_FOO_BAR'], 'created_at': '2020-05-04T22:34:17.224729+00:00', 'updated_at': None} DELETE: /v1/chassis/b3830129-7e8d-4ec7-95e9-67f9415ca013 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-36259b7c-b68b-4d0f-88ae-3d2a240b00a0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis b3830129-7e8d-4ec7-95e9-67f9415ca013 could not be found.\", \"debuginfo\": null}"} DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1bb885dc-08d7-491b-b589-4251421b52ee X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_nodes_subresource [0.065658s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links [0.099055s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_default_limit [0.064083s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_patch_nodes_subresource [0.075428s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail [0.071307s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_non_existent_property_fail [0.053055s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_against_single [0.046215s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query [0.051876s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_singular [0.080789s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_false_and_fields [0.052530s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_old_version [0.047493s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_singular [0.079058s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_empty [0.051588s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_error [0.051063s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_api_version [0.048025s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_not_found [0.048671s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one [0.052754s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links [0.137891s] ... ok GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-233dcbac-9980-4442-9d9c-4d7a07edcb0e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=extra,description {} GOT:{'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}]} GET: /v1/chassis/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/nodes {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9efce4a2-a85a-4650-a642-1ea6fff48585 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:17.410928+00:00'} 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-38683cb8-9b60-472d-a897-9a9a86bdf66a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\", \"debuginfo\": null}"} 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-da70fc25-2495-4473-a69e-8bbb35be4045 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} 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-8d54319e-cca9-47d6-a8dc-66ebe985eed8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} PATCH: /v1/chassis/0d8de764-369e-4cbe-a3ca-04344113bcb8 [{'path': '/description', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-86514f9f-a3e7-461c-bc78-67caf0050cab X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "0d8de764-369e-4cbe-a3ca-04344113bcb8", "description": null, "extra": {"a": "b"}, "links": [{"href": "http://localhost/v1/chassis/0d8de764-369e-4cbe-a3ca-04344113bcb8", "rel": "self"}, {"href": "http://localhost/chassis/0d8de764-369e-4cbe-a3ca-04344113bcb8", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/chassis/0d8de764-369e-4cbe-a3ca-04344113bcb8/nodes", "rel": "self"}, {"href": "http://localhost/chassis/0d8de764-369e-4cbe-a3ca-04344113bcb8/nodes", "rel": "bookmark"}], "updated_at": "2020-05-04T22:34:17.718054+00:00", "created_at": "2020-05-04T22:34:17.686965+00:00"} GET: /v1/chassis/0d8de764-369e-4cbe-a3ca-04344113bcb8 {} GOT:{'uuid': '0d8de764-369e-4cbe-a3ca-04344113bcb8', 'description': None, 'extra': {'a': 'b'}, 'links': [{'href': 'http://localhost/v1/chassis/0d8de764-369e-4cbe-a3ca-04344113bcb8', 'rel': 'self'}, {'href': 'http://localhost/chassis/0d8de764-369e-4cbe-a3ca-04344113bcb8', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/0d8de764-369e-4cbe-a3ca-04344113bcb8/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/0d8de764-369e-4cbe-a3ca-04344113bcb8/nodes', 'rel': 'bookmark'}], 'updated_at': '2020-05-04T22:34:17.718054+00:00', 'created_at': '2020-05-04T22:34:17.686965+00:00'} 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-0c33e543-b81f-4268-ba32-d1daf359f2aa X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "chassis-new-description", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "updated_at": "2000-01-01T00:00:00+00:00", "created_at": "2020-05-04T22:34:17.765549+00:00"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'chassis-new-description', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}], 'updated_at': '2000-01-01T00:00:00+00:00', 'created_at': '2020-05-04T22:34:17.765549+00:00'} 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-073c17c0-8e46-469c-a7a5-f20da95b3b3f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} PATCH: /v1/chassis/54a113d0-3fad-4bf7-a33a-37c75d795339 [{'path': '/extra/a', 'value': 'b', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-28f7893d-5ac3-4cdd-9847-43b90b0bc489 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis 54a113d0-3fad-4bf7-a33a-37c75d795339 could not be found.\", \"debuginfo\": null}"} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {'foo': 123}, 'description': 'data-center-1-chassis'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-67d130e1-234e-4506-9c72-ccd7d7580048 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "extra": {"foo": 123}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "updated_at": null, "created_at": "2020-05-04T22:34:17.974217+00:00"}{0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_doesnt_contain_id [0.078507s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_error [0.073260s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_invalid_description [0.092492s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_toolong_description [0.081257s] ... ok GET: /v1/chassis/?limit=3 {} GOT:{'chassis': [{'uuid': '93fbf8dc-6e0b-486f-aaee-0d97a0008275', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/93fbf8dc-6e0b-486f-aaee-0d97a0008275', 'rel': 'self'}, {'href': 'http://localhost/chassis/93fbf8dc-6e0b-486f-aaee-0d97a0008275', 'rel': 'bookmark'}]}, {'uuid': '50560cad-62da-4557-a9b7-7e2346d1d2a5', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/50560cad-62da-4557-a9b7-7e2346d1d2a5', 'rel': 'self'}, {'href': 'http://localhost/chassis/50560cad-62da-4557-a9b7-7e2346d1d2a5', 'rel': 'bookmark'}]}, {'uuid': 'd8c42a09-5c80-40e0-a26a-5ee799073be4', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/d8c42a09-5c80-40e0-a26a-5ee799073be4', 'rel': 'self'}, {'href': 'http://localhost/chassis/d8c42a09-5c80-40e0-a26a-5ee799073be4', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=d8c42a09-5c80-40e0-a26a-5ee799073be4'} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': 'ee1c6577-8ad5-4122-a1f6-9c196c91cdc9', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/ee1c6577-8ad5-4122-a1f6-9c196c91cdc9', 'rel': 'self'}, {'href': 'http://localhost/chassis/ee1c6577-8ad5-4122-a1f6-9c196c91cdc9', 'rel': 'bookmark'}]}, {'uuid': 'c15b2b39-2102-4ee7-aceb-e1fdd0c349da', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/c15b2b39-2102-4ee7-aceb-e1fdd0c349da', 'rel': 'self'}, {'href': 'http://localhost/chassis/c15b2b39-2102-4ee7-aceb-e1fdd0c349da', 'rel': 'bookmark'}]}, {'uuid': 'fd6a1842-e930-43cc-8d64-30845b4a2d99', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/fd6a1842-e930-43cc-8d64-30845b4a2d99', 'rel': 'self'}, {'href': 'http://localhost/chassis/fd6a1842-e930-43cc-8d64-30845b4a2d99', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=fd6a1842-e930-43cc-8d64-30845b4a2d99'} GET: /v1/chassis/detail {} GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:17.588281+00:00'}]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-38bddbe4-283e-4677-843c-af5691f45eec X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/chassis?detail=True {} GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:17.687685+00:00'}]} GET: /v1/chassis?detail=False&fields=description {} GOT:{'chassis': [{'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}]}]} GET: /v1/chassis?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3422586b-7bff-4240-9b93-70bedbf82e52 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} GET: /v1/chassis {} GOT:{'chassis': []} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-40769ff9-ef9a-4bd4-aa40-0d9bfcbdaa94 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:17.945539+00:00'} GET: /v1/chassis/33658937-4b68-4d49-a65a-539a3bf0cf6a {} GOT:{'uuid': '33658937-4b68-4d49-a65a-539a3bf0cf6a', 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/33658937-4b68-4d49-a65a-539a3bf0cf6a', 'rel': 'self'}, {'href': 'http://localhost/chassis/33658937-4b68-4d49-a65a-539a3bf0cf6a', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/33658937-4b68-4d49-a65a-539a3bf0cf6a/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/33658937-4b68-4d49-a65a-539a3bf0cf6a/nodes', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:18.019433+00:00'} GET: /v1/chassis/33658937-4b68-4d49-a65a-539a3bf0cf6a {} GOT:{'uuid': '33658937-4b68-4d49-a65a-539a3bf0cf6a', 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/33658937-4b68-4d49-a65a-539a3bf0cf6a', 'rel': 'self'}, {'href': 'http://localhost/chassis/33658937-4b68-4d49-a65a-539a3bf0cf6a', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/33658937-4b68-4d49-a65a-539a3bf0cf6a/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/33658937-4b68-4d49-a65a-539a3bf0cf6a/nodes', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:18.019433+00:00'} GET: /chassis/33658937-4b68-4d49-a65a-539a3bf0cf6a {} GOT:{'uuid': '33658937-4b68-4d49-a65a-539a3bf0cf6a', 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/33658937-4b68-4d49-a65a-539a3bf0cf6a', 'rel': 'self'}, {'href': 'http://localhost/chassis/33658937-4b68-4d49-a65a-539a3bf0cf6a', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/33658937-4b68-4d49-a65a-539a3bf0cf6a/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/33658937-4b68-4d49-a65a-539a3bf0cf6a/nodes', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:18.019433+00:00'} GET: /v1/chassis/5586f420-78c4-4e23-a228-10da9dad83d4 {} GOT:{'uuid': '5586f420-78c4-4e23-a228-10da9dad83d4', 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/5586f420-78c4-4e23-a228-10da9dad83d4', 'rel': 'self'}, {'href': 'http://foo/chassis/5586f420-78c4-4e23-a228-10da9dad83d4', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://foo/v1/chassis/5586f420-78c4-4e23-a228-10da9dad83d4/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/5586f420-78c4-4e23-a228-10da9dad83d4/nodes', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:18.157573+00:00'} GET: /v1/chassis/5586f420-78c4-4e23-a228-10da9dad83d4 {}{1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links_public_url [0.113443s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_many [0.104148s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_empty [0.087921s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_conductor_offline [0.054906s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links_public_url [0.101990s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource [0.194163s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key_invalid [0.066326s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_no_uuid [0.051602s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name [0.062760s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_one [0.052627s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_non_existent [0.052511s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key [0.061448s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid [0.059161s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_old_api_version [0.032210s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key_invalid [0.068580s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDeployTemplateObject.test_deploy_template_init [0.011995s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDeployTemplateObject.test_deploy_template_sample [0.010263s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links [0.079207s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_false_and_fields [0.061169s] ... ok GOT:{'uuid': '5586f420-78c4-4e23-a228-10da9dad83d4', 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/5586f420-78c4-4e23-a228-10da9dad83d4', 'rel': 'self'}, {'href': 'http://foo/chassis/5586f420-78c4-4e23-a228-10da9dad83d4', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://foo/v1/chassis/5586f420-78c4-4e23-a228-10da9dad83d4/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/5586f420-78c4-4e23-a228-10da9dad83d4/nodes', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:18.157573+00:00'} GET: /chassis/5586f420-78c4-4e23-a228-10da9dad83d4 {} GOT:{'uuid': '5586f420-78c4-4e23-a228-10da9dad83d4', 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/5586f420-78c4-4e23-a228-10da9dad83d4', 'rel': 'self'}, {'href': 'http://foo/chassis/5586f420-78c4-4e23-a228-10da9dad83d4', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://foo/v1/chassis/5586f420-78c4-4e23-a228-10da9dad83d4/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/5586f420-78c4-4e23-a228-10da9dad83d4/nodes', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:18.157573+00:00'} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': 'c403643e-0550-4936-a63e-3157beae550a', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/c403643e-0550-4936-a63e-3157beae550a', 'rel': 'self'}, {'href': 'http://localhost/chassis/c403643e-0550-4936-a63e-3157beae550a', 'rel': 'bookmark'}]}, {'uuid': 'ac4c1db2-8aa9-4da1-b188-c895371964c5', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/ac4c1db2-8aa9-4da1-b188-c895371964c5', 'rel': 'self'}, {'href': 'http://localhost/chassis/ac4c1db2-8aa9-4da1-b188-c895371964c5', 'rel': 'bookmark'}]}, {'uuid': '9a8b7506-472f-491e-a64c-5d20fa215c46', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/9a8b7506-472f-491e-a64c-5d20fa215c46', 'rel': 'self'}, {'href': 'http://localhost/chassis/9a8b7506-472f-491e-a64c-5d20fa215c46', 'rel': 'bookmark'}]}, {'uuid': 'cb2533e6-5b08-4fef-8664-d261a7f3a0bd', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/cb2533e6-5b08-4fef-8664-d261a7f3a0bd', 'rel': 'self'}, {'href': 'http://localhost/chassis/cb2533e6-5b08-4fef-8664-d261a7f3a0bd', 'rel': 'bookmark'}]}, {'uuid': '8a78d75c-8857-4074-b407-211b1a2ab17c', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/8a78d75c-8857-4074-b407-211b1a2ab17c', 'rel': 'self'}, {'href': 'http://localhost/chassis/8a78d75c-8857-4074-b407-211b1a2ab17c', 'rel': 'bookmark'}]}]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes {} GOT:{'nodes': [{'uuid': '73999d8d-8050-4248-98c6-6167fc8ebf05', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/73999d8d-8050-4248-98c6-6167fc8ebf05', 'rel': 'self'}, {'href': 'http://localhost/nodes/73999d8d-8050-4248-98c6-6167fc8ebf05', 'rel': 'bookmark'}]}, {'uuid': '1832424b-2620-44e6-90bf-ba78b8465d4d', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/1832424b-2620-44e6-90bf-ba78b8465d4d', 'rel': 'self'}, {'href': 'http://localhost/nodes/1832424b-2620-44e6-90bf-ba78b8465d4d', 'rel': 'bookmark'}]}]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes?limit=1 {} GOT:{'nodes': [{'uuid': '73999d8d-8050-4248-98c6-6167fc8ebf05', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/73999d8d-8050-4248-98c6-6167fc8ebf05', 'rel': 'self'}, {'href': 'http://localhost/nodes/73999d8d-8050-4248-98c6-6167fc8ebf05', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=1&marker=73999d8d-8050-4248-98c6-6167fc8ebf05'} GET: /v1/chassis/nodes {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-148322d1-51ed-41c3-a3ab-f5302fa3f1e9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis id not specified.\", \"debuginfo\": null}"} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}]}]} GET: /v1/chassis?sort_key=uuid {} GOT:{'chassis': [{'uuid': '5ea2cdc7-bbe8-4179-8a7c-8a35a7f2e3c0', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/5ea2cdc7-bbe8-4179-8a7c-8a35a7f2e3c0', 'rel': 'self'}, {'href': 'http://localhost/chassis/5ea2cdc7-bbe8-4179-8a7c-8a35a7f2e3c0', 'rel': 'bookmark'}]}, {'uuid': '69db6d4f-3e96-438b-ad69-1ec59e4b81ec', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/69db6d4f-3e96-438b-ad69-1ec59e4b81ec', 'rel': 'self'}, {'href': 'http://localhost/chassis/69db6d4f-3e96-438b-ad69-1ec59e4b81ec', 'rel': 'bookmark'}]}, {'uuid': '8fe1f3a5-e33a-4139-a0af-07b8c1b9e9d0', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/8fe1f3a5-e33a-4139-a0af-07b8c1b9e9d0', 'rel': 'self'}, {'href': 'http://localhost/chassis/8fe1f3a5-e33a-4139-a0af-07b8c1b9e9d0', 'rel': 'bookmark'}]}]} GET: /v1/chassis?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-65746dc2-4bb5-4c88-8209-f6e1f3b07374 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/chassis?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9381bf03-eed7-4c4f-b035-9b6b781c73a3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} 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-7148625e-baf2-4f9e-820c-6dc75e14e449 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "bar2"}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "updated_at": "2020-05-04T22:34:18.836468+00:00", "created_at": "2020-05-04T22:34:18.803598+00:00"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {'foo1': 'bar1', 'foo2': 'bar2'}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}], 'updated_at': '2020-05-04T22:34:18.836468+00:00', 'created_at': '2020-05-04T22:34:18.803598+00:00'}{1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_multi [0.090441s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root [0.111538s] ... ok GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {'foo': 123}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:17.974217+00:00'} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'data-center-1-chassis'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-20e0af1b-205d-4c64-85c5-f24e16aa7a04 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 1334} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-44d23167-f5fd-41f0-bba8-bcdc6a246fea X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute description. Value: '1334'. Value should be string\", \"debuginfo\": null}"} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-df237fad-36ab-476e-8558-f1ac29fe4887 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute description. Value: 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa'. Value should have a maximum character requirement of 255\", \"debuginfo\": null}"} GET: /v1/conductors {} GOT:{'conductors': []} GET: /v1/conductors/rocky.rocks {} GOT:{'hostname': 'rocky.rocks', 'conductor_group': '', 'alive': False, 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} GET: /v1/conductors/rocky.rocks {} GOT:{'hostname': 'rocky.rocks', 'conductor_group': '', 'alive': True, 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://foo/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://foo/conductors/rocky.rocks', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:18.418512+00:00', 'updated_at': '2020-05-04T22:34:18.418061+00:00'} GET: /v1/conductors/rocky.rocks {} GOT:{'hostname': 'rocky.rocks', 'conductor_group': '', 'alive': True, 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://foo/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://foo/conductors/rocky.rocks', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:18.418512+00:00', 'updated_at': '2020-05-04T22:34:18.418061+00:00'} GET: /conductors/rocky.rocks {} GOT:{'hostname': 'rocky.rocks', 'conductor_group': '', 'alive': True, 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://foo/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://foo/conductors/rocky.rocks', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:18.418512+00:00', 'updated_at': '2020-05-04T22:34:18.418061+00:00'} GET: /v1/conductors?sort_key=alive {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0a7ae375-de1b-4aae-a633-b43519771420 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value alive is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/conductors?sort_key=drivers {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-02661ff3-e9a2-4807-b721-fae4ce5f14eb X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value drivers is an invalid field for sorting\", \"debuginfo\": null}"} DELETE: /v1/deploy_templates/CUSTOM_DT1 GOT:Response: 204 No Content Openstack-Request-Id: req-6ce07466-963c-4ef0-97e8-ff4d8da383b9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 DELETE: /v1/deploy_templates/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-37fb518e-0452-4792-9d93-984368e80a30 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template blah could not be found.\", \"debuginfo\": null}"} DELETE: /v1/deploy_templates/f3716479-4216-4a16-b522-60361b0f2b30 GOT:Response: 204 No Content Openstack-Request-Id: req-f21b18f1-f423-47ce-8f78-f615e073cdbb X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 DELETE: /v1/deploy_templates/CUSTOM_DT1 GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} GET: /v1/deploy_templates/?limit=3 {} GOT:{'deploy_templates': [{'uuid': 'c7ce57a7-4a60-451a-8374-88ff8229a1e9', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/c7ce57a7-4a60-451a-8374-88ff8229a1e9', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c7ce57a7-4a60-451a-8374-88ff8229a1e9', 'rel': 'bookmark'}]}, {'uuid': 'f5ae862f-3320-4026-af74-20a47b2ab601', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/f5ae862f-3320-4026-af74-20a47b2ab601', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f5ae862f-3320-4026-af74-20a47b2ab601', 'rel': 'bookmark'}]}, {'uuid': '5473bc84-68c9-4ad1-921f-119f213668ce', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/5473bc84-68c9-4ad1-921f-119f213668ce', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/5473bc84-68c9-4ad1-921f-119f213668ce', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=5473bc84-68c9-4ad1-921f-119f213668ce'} GET: /v1/deploy_templates?detail=False&fields=steps {} GOT:{'deploy_templates': [{'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/1077a3c4-5d71-472b-b522-1b05b99f3759', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/1077a3c4-5d71-472b-b522-1b05b99f3759', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?fields=uuid,steps {} GOT:{'deploy_templates': [{'uuid': '7f1c10b9-472c-42af-97aa-c0eb6b5331b9', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/7f1c10b9-472c-42af-97aa-c0eb6b5331b9', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7f1c10b9-472c-42af-97aa-c0eb6b5331b9', 'rel': 'bookmark'}]}, {'uuid': 'e89ff117-5bd2-4743-b238-d1895a1139af', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/e89ff117-5bd2-4743-b238-d1895a1139af', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/e89ff117-5bd2-4743-b238-d1895a1139af', 'rel': 'bookmark'}]}, {'uuid': 'a4d4c96e-08f1-49b9-87a5-f0de8eb5d5d0', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/a4d4c96e-08f1-49b9-87a5-f0de8eb5d5d0', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a4d4c96e-08f1-49b9-87a5-f0de8eb5d5d0', 'rel': 'bookmark'}]}]}{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_custom_fields [0.072199s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_custom_fields [0.099927s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_invalid_api_version [0.071831s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_multi [0.251845s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_json [0.056556s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_uuid [0.047593s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_suffix [0.055434s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_multi [0.082439s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_links [0.106494s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis [0.074373s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_many [0.081413s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sensitive_data_masked [0.063212s] ... ok PATCH: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 [{'path': '/description', 'value': 'test', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e27cacca-c7fb-4fc4-bdbf-bc8305a00a3a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "test", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "updated_at": "2020-05-04T22:34:18.972169+00:00", "created_at": "2020-05-04T22:34:18.904573+00:00"} PATCH: /v1/chassis/8d98a110-4b16-4b86-bcd2-bb1639aef51d [{'path': '/extra/foo2', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-77999d2e-21e2-48fa-8dca-9480ba4e6eb8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "8d98a110-4b16-4b86-bcd2-bb1639aef51d", "description": "foobar", "extra": {"foo1": "bar1", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/8d98a110-4b16-4b86-bcd2-bb1639aef51d", "rel": "self"}, {"href": "http://localhost/chassis/8d98a110-4b16-4b86-bcd2-bb1639aef51d", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/chassis/8d98a110-4b16-4b86-bcd2-bb1639aef51d/nodes", "rel": "self"}, {"href": "http://localhost/chassis/8d98a110-4b16-4b86-bcd2-bb1639aef51d/nodes", "rel": "bookmark"}], "updated_at": "2020-05-04T22:34:19.119742+00:00", "created_at": "2020-05-04T22:34:19.035974+00:00"} GET: /v1/chassis/8d98a110-4b16-4b86-bcd2-bb1639aef51d {} GOT:{'uuid': '8d98a110-4b16-4b86-bcd2-bb1639aef51d', 'description': 'foobar', 'extra': {'foo1': 'bar1', 'foo3': 'bar3'}, 'links': [{'href': 'http://localhost/v1/chassis/8d98a110-4b16-4b86-bcd2-bb1639aef51d', 'rel': 'self'}, {'href': 'http://localhost/chassis/8d98a110-4b16-4b86-bcd2-bb1639aef51d', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/8d98a110-4b16-4b86-bcd2-bb1639aef51d/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/8d98a110-4b16-4b86-bcd2-bb1639aef51d/nodes', 'rel': 'bookmark'}], 'updated_at': '2020-05-04T22:34:19.119742+00:00', 'created_at': '2020-05-04T22:34:19.035974+00:00'} PATCH: /v1/chassis/8d98a110-4b16-4b86-bcd2-bb1639aef51d [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c8cdfc90-6226-482c-8bea-1baf12f7668b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "8d98a110-4b16-4b86-bcd2-bb1639aef51d", "description": "foobar", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/8d98a110-4b16-4b86-bcd2-bb1639aef51d", "rel": "self"}, {"href": "http://localhost/chassis/8d98a110-4b16-4b86-bcd2-bb1639aef51d", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/chassis/8d98a110-4b16-4b86-bcd2-bb1639aef51d/nodes", "rel": "self"}, {"href": "http://localhost/chassis/8d98a110-4b16-4b86-bcd2-bb1639aef51d/nodes", "rel": "bookmark"}], "updated_at": "2020-05-04T22:34:19.205967+00:00", "created_at": "2020-05-04T22:34:19.035974+00:00"} GET: /v1/chassis/8d98a110-4b16-4b86-bcd2-bb1639aef51d {} GOT:{'uuid': '8d98a110-4b16-4b86-bcd2-bb1639aef51d', 'description': 'foobar', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/8d98a110-4b16-4b86-bcd2-bb1639aef51d', 'rel': 'self'}, {'href': 'http://localhost/chassis/8d98a110-4b16-4b86-bcd2-bb1639aef51d', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/8d98a110-4b16-4b86-bcd2-bb1639aef51d/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/8d98a110-4b16-4b86-bcd2-bb1639aef51d/nodes', 'rel': 'bookmark'}], 'updated_at': '2020-05-04T22:34:19.205967+00:00', 'created_at': '2020-05-04T22:34:19.035974+00:00'} 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-9bf67e15-4d98-44d7-be0c-0efb4134ad32 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\", \"debuginfo\": null}"} PATCH: /v1/chassis/de650061-091b-40f4-b57a-b20e588cb1de [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c0d384f3-31b4-4255-8b30-e02c207d124b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "de650061-091b-40f4-b57a-b20e588cb1de", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/de650061-091b-40f4-b57a-b20e588cb1de", "rel": "self"}, {"href": "http://localhost/chassis/de650061-091b-40f4-b57a-b20e588cb1de", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/chassis/de650061-091b-40f4-b57a-b20e588cb1de/nodes", "rel": "self"}, {"href": "http://localhost/chassis/de650061-091b-40f4-b57a-b20e588cb1de/nodes", "rel": "bookmark"}], "updated_at": "2020-05-04T22:34:19.338379+00:00", "created_at": "2020-05-04T22:34:19.307272+00:00"} GET: /v1/chassis/de650061-091b-40f4-b57a-b20e588cb1de {} GOT:{'uuid': 'de650061-091b-40f4-b57a-b20e588cb1de', 'description': 'data-center-1-chassis', 'extra': {'foo1': 'bar1', 'foo2': 'new value', 'foo3': 'bar3'}, 'links': [{'href': 'http://localhost/v1/chassis/de650061-091b-40f4-b57a-b20e588cb1de', 'rel': 'self'}, {'href': 'http://localhost/chassis/de650061-091b-40f4-b57a-b20e588cb1de', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/de650061-091b-40f4-b57a-b20e588cb1de/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/de650061-091b-40f4-b57a-b20e588cb1de/nodes', 'rel': 'bookmark'}], 'updated_at': '2020-05-04T22:34:19.338379+00:00', 'created_at': '2020-05-04T22:34:19.307272+00:00'} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'data-center-1-chassis'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-cfaed7b9-be71-4ca8-97fe-a55ef2e06a3c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "updated_at": null, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2000-01-01T00:00:00+00:00'} POST: /v1/chassis {'extra': {}, 'description': 'data-center-1-chassis'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/523f2ed2-b4ee-464f-9334-91bbebcb2659 Openstack-Request-Id: req-b9d8496a-3325-4f6b-8252-63b247f29b40 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "523f2ed2-b4ee-464f-9334-91bbebcb2659", "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/523f2ed2-b4ee-464f-9334-91bbebcb2659", "rel": "self"}, {"href": "http://localhost/chassis/523f2ed2-b4ee-464f-9334-91bbebcb2659", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/chassis/523f2ed2-b4ee-464f-9334-91bbebcb2659/nodes", "rel": "self"}, {"href": "http://localhost/chassis/523f2ed2-b4ee-464f-9334-91bbebcb2659/nodes", "rel": "bookmark"}], "updated_at": null, "created_at": "2020-05-04T22:34:19.490930+00:00"}{1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_generate_uuid [0.098898s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_unicode_description [0.093591s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_invalid [0.147020s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_valid_extra [0.098230s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_post_nodes_subresource [0.054864s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links [0.072903s] ... ok GET: /v1/deploy_templates/7622258d-8a4f-4908-bcf9-c288a46a8cd0?fields=name,steps {} GOT:{'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/7622258d-8a4f-4908-bcf9-c288a46a8cd0', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7622258d-8a4f-4908-bcf9-c288a46a8cd0', 'rel': 'bookmark'}]} GET: /v1/deploy_templates/e5701d4f-c574-44a2-85f8-2322b51b0db5 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow deploy templates\"}"} GET: /v1/deploy_templates/7d306410-8570-4e62-9aa8-3710f3d523fe.json {} GOT:{'uuid': '7d306410-8570-4e62-9aa8-3710f3d523fe', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/7d306410-8570-4e62-9aa8-3710f3d523fe', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7d306410-8570-4e62-9aa8-3710f3d523fe', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2020-05-04T22:34:19.204985+00:00', 'updated_at': None} GET: /v1/deploy_templates/a713c9f0-956c-4b0d-995a-2fd69d366a6c {} GOT:{'uuid': 'a713c9f0-956c-4b0d-995a-2fd69d366a6c', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/a713c9f0-956c-4b0d-995a-2fd69d366a6c', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a713c9f0-956c-4b0d-995a-2fd69d366a6c', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2020-05-04T22:34:19.261821+00:00', 'updated_at': None} GET: /v1/deploy_templates/7661c4d1-49c8-44ee-bedf-ef95b476f39a {} GOT:{'uuid': '7661c4d1-49c8-44ee-bedf-ef95b476f39a', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/7661c4d1-49c8-44ee-bedf-ef95b476f39a', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7661c4d1-49c8-44ee-bedf-ef95b476f39a', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2020-05-04T22:34:19.317702+00:00', 'updated_at': None} GET: /v1/deploy_templates/7661c4d1-49c8-44ee-bedf-ef95b476f39a {} GOT:{'uuid': '7661c4d1-49c8-44ee-bedf-ef95b476f39a', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/7661c4d1-49c8-44ee-bedf-ef95b476f39a', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7661c4d1-49c8-44ee-bedf-ef95b476f39a', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2020-05-04T22:34:19.317702+00:00', 'updated_at': None} GET: /deploy_templates/7661c4d1-49c8-44ee-bedf-ef95b476f39a {} GOT:{'uuid': '7661c4d1-49c8-44ee-bedf-ef95b476f39a', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/7661c4d1-49c8-44ee-bedf-ef95b476f39a', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7661c4d1-49c8-44ee-bedf-ef95b476f39a', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2020-05-04T22:34:19.317702+00:00', 'updated_at': None} GET: /v1/deploy_templates {} GOT:{'deploy_templates': [{'uuid': '3fbc82b8-4f7e-49ff-8d17-63b224d7f3d3', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/3fbc82b8-4f7e-49ff-8d17-63b224d7f3d3', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/3fbc82b8-4f7e-49ff-8d17-63b224d7f3d3', 'rel': 'bookmark'}]}, {'uuid': '75875816-3048-45a8-9300-ea17fe8a8804', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/75875816-3048-45a8-9300-ea17fe8a8804', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/75875816-3048-45a8-9300-ea17fe8a8804', 'rel': 'bookmark'}]}, {'uuid': 'f6b6826b-162a-4e09-9fc5-3817a3778236', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/f6b6826b-162a-4e09-9fc5-3817a3778236', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f6b6826b-162a-4e09-9fc5-3817a3778236', 'rel': 'bookmark'}]}, {'uuid': '1fa38cef-7435-4efc-97ce-7b43399ae954', 'name': 'CUSTOM_DT3', 'links': [{'href': 'http://localhost/v1/deploy_templates/1fa38cef-7435-4efc-97ce-7b43399ae954', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/1fa38cef-7435-4efc-97ce-7b43399ae954', 'rel': 'bookmark'}]}, {'uuid': '7d97b96c-decf-465c-9bcb-4b3cd694af5a', 'name': 'CUSTOM_DT4', 'links': [{'href': 'http://localhost/v1/deploy_templates/7d97b96c-decf-465c-9bcb-4b3cd694af5a', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7d97b96c-decf-465c-9bcb-4b3cd694af5a', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates/c4c9d8ac-2711-4d10-bc9b-644699da406a {} GOT:{'uuid': 'c4c9d8ac-2711-4d10-bc9b-644699da406a', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': [], 'password': '******'}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/c4c9d8ac-2711-4d10-bc9b-644699da406a', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c4c9d8ac-2711-4d10-bc9b-644699da406a', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2020-05-04T22:34:19.513541+00:00', 'updated_at': None} GET: /v1/deploy_templates?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-02b17556-0c7b-4c0a-b211-034e3a081158 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/deploy_templates?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fce0bf0c-a17b-4315-95de-8029f1f48c19 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/deploy_templates?sort_key=steps {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fe3dd37a-b89c-4c0a-8a41-3155971151a5 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value steps is an invalid field for sorting\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/9dbed42b-6418-480b-9796-11faf41edf4f [{'path': '/steps/0', 'value': {'interface': 'raid', 'step': 'create_configuration0', 'args': {}, 'priority': 10}, 'op': 'add'}, {'path': '/steps/1', 'value': {'interface': 'raid', 'step': 'create_configuration1', 'args': {}, 'priority': 10}, 'op': 'add'}, {'path': '/steps/2', 'value': {'interface': 'raid', 'step': 'create_configuration2', 'args': {}, 'priority': 10}, 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e9d39734-e99b-4eb0-a05d-ab017f2dcdf5 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "9dbed42b-6418-480b-9796-11faf41edf4f", "name": "CUSTOM_DT1", "steps": [{"interface": "raid", "step": "create_configuration0", "args": {}, "priority": 10}, {"interface": "raid", "step": "create_configuration1", "args": {}, "priority": 10}, {"interface": "raid", "step": "create_configuration2", "args": {}, "priority": 10}, {"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/9dbed42b-6418-480b-9796-11faf41edf4f", "rel": "self"}, {"href": "http://localhost/deploy_templates/9dbed42b-6418-480b-9796-11faf41edf4f", "rel": "bookmark"}], "extra": {}, "created_at": "2020-05-04T22:34:19.719485+00:00", "updated_at": null}{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_multi [0.069427s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_root_non_existent [0.118126s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_custom_fields [0.091571s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_too_high_index_step_fail [0.088540s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_default_limit [0.069478s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_foo [0.060036s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_name [0.049481s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_property_fail [0.108600s] ... ok GET: /v1/chassis {} GOT:{'chassis': [{'uuid': '523f2ed2-b4ee-464f-9334-91bbebcb2659', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/523f2ed2-b4ee-464f-9334-91bbebcb2659', 'rel': 'self'}, {'href': 'http://localhost/chassis/523f2ed2-b4ee-464f-9334-91bbebcb2659', 'rel': 'bookmark'}]}]} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {}, 'description': 'амо'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-accb45f7-38ae-4648-8351-e11aa46cea5f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "\u0430\u043c\u043e", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "updated_at": null, "created_at": "2020-05-04T22:34:19.606657+00:00"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'амо', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:19.606657+00:00'} POST: /v1/chassis {'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'description': 'data-center-1-chassis'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 Openstack-Request-Id: req-ccc8f5d1-3f96-4721-b7c4-989407e07145 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "description": "data-center-1-chassis", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "links": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes", "rel": "bookmark"}], "updated_at": null, "created_at": "2020-05-04T22:34:19.704148+00:00"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 {} GOT:{'uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'description': 'data-center-1-chassis', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'links': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:19.704148+00:00'} POST: /v1/chassis/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7eb50206-ac09-4277-a3aa-fce4042cdc30 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/conductors/?limit=3 {} GOT:{'conductors': [{'hostname': '1201cd04-0e8d-41b3-9ab3-e039963de272', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/1201cd04-0e8d-41b3-9ab3-e039963de272', 'rel': 'self'}, {'href': 'http://localhost/conductors/1201cd04-0e8d-41b3-9ab3-e039963de272', 'rel': 'bookmark'}]}, {'hostname': '1e78b775-2752-46c5-a112-b6f22ada58b9', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/1e78b775-2752-46c5-a112-b6f22ada58b9', 'rel': 'self'}, {'href': 'http://localhost/conductors/1e78b775-2752-46c5-a112-b6f22ada58b9', 'rel': 'bookmark'}]}, {'hostname': '10dd2419-e0d7-4d9f-88f9-c0b53862dbcb', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/10dd2419-e0d7-4d9f-88f9-c0b53862dbcb', 'rel': 'self'}, {'href': 'http://localhost/conductors/10dd2419-e0d7-4d9f-88f9-c0b53862dbcb', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=10dd2419-e0d7-4d9f-88f9-c0b53862dbcb'} GET: /v1/conductors?fields=hostname,alive {} GOT:{'conductors': [{'hostname': '157f9884-951e-4830-b439-9fa7ab462ad2', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/157f9884-951e-4830-b439-9fa7ab462ad2', 'rel': 'self'}, {'href': 'http://localhost/conductors/157f9884-951e-4830-b439-9fa7ab462ad2', 'rel': 'bookmark'}]}, {'hostname': '0d8cf8eb-6c87-444a-af1e-72fa5c457a45', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/0d8cf8eb-6c87-444a-af1e-72fa5c457a45', 'rel': 'self'}, {'href': 'http://localhost/conductors/0d8cf8eb-6c87-444a-af1e-72fa5c457a45', 'rel': 'bookmark'}]}, {'hostname': '4275cbb4-68d3-4dd5-ae9c-9f4ba47510af', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/4275cbb4-68d3-4dd5-ae9c-9f4ba47510af', 'rel': 'self'}, {'href': 'http://localhost/conductors/4275cbb4-68d3-4dd5-ae9c-9f4ba47510af', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,alive&limit=3&marker=4275cbb4-68d3-4dd5-ae9c-9f4ba47510af'} GET: /v1/conductors {} GOT:{'conductors': [{'hostname': '6faf79b0-98ab-41ef-98a0-779ef0ba446e', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/6faf79b0-98ab-41ef-98a0-779ef0ba446e', 'rel': 'self'}, {'href': 'http://localhost/conductors/6faf79b0-98ab-41ef-98a0-779ef0ba446e', 'rel': 'bookmark'}]}, {'hostname': 'c8cc6b26-b233-4466-ab40-2398ecfd7c5d', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/c8cc6b26-b233-4466-ab40-2398ecfd7c5d', 'rel': 'self'}, {'href': 'http://localhost/conductors/c8cc6b26-b233-4466-ab40-2398ecfd7c5d', 'rel': 'bookmark'}]}, {'hostname': '115602d7-9f8b-4579-97a6-7aa6cfcd5f39', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/115602d7-9f8b-4579-97a6-7aa6cfcd5f39', 'rel': 'self'}, {'href': 'http://localhost/conductors/115602d7-9f8b-4579-97a6-7aa6cfcd5f39', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=115602d7-9f8b-4579-97a6-7aa6cfcd5f39'} GET: /v1/conductors?fields=hostname,alive {} GOT:{'conductors': [{'hostname': 'rocky.rocks', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}]}, {'hostname': 'stein.rocks', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/stein.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/stein.rocks', 'rel': 'bookmark'}]}]}{1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_collection_custom_fields [0.065513s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_custom_fields_invalid_fields [0.053912s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one [0.053147s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_fail [0.059293s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_custom_fields [0.100640s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_only_step_fail [0.069414s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_with_invalid_api [0.045138s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_uuid [0.053660s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_duplicate_step [0.056063s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links [0.102358s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_empty_step_list_fail [0.057657s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list [0.060043s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_none [0.058993s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_detail [0.060210s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_invalid_api [0.044722s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_not_a_trait [0.057466s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_too_long [0.059127s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key [0.073595s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_with_json [0.065619s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid_with_json [0.060533s] ... ok PATCH: /v1/deploy_templates/29436b4c-87f7-4732-aa33-af1f4e799299 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6470dc5d-fdd3-48be-aec3-09762c91ac70 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/f7e8238b-bc67-4e1b-a283-6a95473c6660 [{'path': '/steps/2', 'op': 'add', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-48ce41d6-2e51-44fb-98e7-a29f00ab0756 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/2', 'op': 'add', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}'. Reason: can't insert outside of list\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/8e22e443-1873-480e-aec2-01cad6f755c2 [{'path': '/foo', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b33e3d3c-e4f0-409e-821d-34b5e1252a34 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/foo', 'op': 'remove'}'. Reason: can't remove non-existent object 'foo'\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/61679b6d-5da3-45fa-a140-533b255b158d [{'path': '/name', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-05051503-157c-40ec-9280-bfc5bd039794 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/name' is a mandatory attribute and can not be removed\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/aee3879f-8f4e-4d26-9766-ed497d7735a9 [{'path': '/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-afe5c4c4-36ed-414e-b555-ad9446b7c6b5 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/a8364597-3cc8-4562-ad38-44bd8d092b13 [{'path': '/steps/1', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d2efd7c7-0e44-4c24-aff6-c600bc7f7fad X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/1', 'op': 'remove'}'. Reason: can't remove non-existent object '1'\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/3b143810-f501-4b01-acfe-ba7b790fd5d1 [{'path': '/steps/0', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-79a77c79-3df1-4194-98a7-bb371b7fa763 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: No deploy steps specified. A deploy template must have at least one deploy step..\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/55dec5ff-79a0-490e-9e0a-3401f230ee7f [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f2d47bc4-9a1a-4005-8999-8fc1c59264f9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/c068f40c-71b3-4c0a-9b57-8bfd350658d2 [{'path': '/steps', 'op': 'replace', 'value': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '0'}, 'priority': 0}, {'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '1'}, 'priority': 1}]}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b05fedf6-50ea-40e0-b382-f0126d233d1a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: Duplicate deploy steps. A deploy template cannot have multiple deploy steps with the same interface and step. Duplicates: interface: raid, step: create_configuration.\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/19e163bb-cab7-4f2f-8cc5-c273cdea1fb8 [{'path': '/steps', 'op': 'replace', 'value': []}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-97d55354-612e-459c-8f92-8ede05e25b53 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: No deploy steps specified. A deploy template must have at least one deploy step..\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/016eb103-e43e-421d-838c-ce8bd3a38746 [{'path': '/name', 'op': 'replace', 'value': None}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a16f282b-b2b0-4438-b975-729dc1fb45a5 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: Deploy template name cannot be None.\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/9137ecc2-08f5-40a9-9e04-c62f3646e1dc [{'path': '/name', 'op': 'replace', 'value': 'not-a-trait'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cba4997c-d404-4e92-9218-56b48a03da77 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template name must be a valid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/2fc20caa-4635-4878-a17a-4886d2d01208 [{'path': '/name', 'op': 'replace', 'value': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1d798ad3-9847-4529-9861-361573258078 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template name must be a valid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/4c5deb82-3f75-4aec-a182-0bade29fa947 [{'path': '/steps/0', 'value': {'interface': 'raid', 'step': 'create_configuration0', 'args': {}, 'priority': 11}, 'op': 'replace'}, {'path': '/steps/1', 'value': {'interface': 'raid', 'step': 'create_configuration1', 'args': {}, 'priority': 11}, 'op': 'replace'}, {'path': '/steps/2', 'value': {'interface': 'raid', 'step': 'create_configuration2', 'args': {}, 'priority': 11}, 'op': 'replace'}]{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_multi [0.115170s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_invalid_api_version [0.069933s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_name_already_exist [0.118667s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_custom_fields [0.075661s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_non_existent_step_fail [0.056701s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_step_invalid_interface [0.056606s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id [0.072248s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id_invalid_api_version [0.060446s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name [0.074171s] ... ok GET: /v1/conductors/rocky.rocks?fields=hostname,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-13754402-6323-4308-b9f1-3d7153073cfe X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/conductors/rocky.rocks {} GOT:{'hostname': 'rocky.rocks', 'conductor_group': '', 'alive': True, 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:20.164505+00:00', 'updated_at': '2020-05-04T22:34:20.164024+00:00'} GET: /v1/conductors/rocky.rocks?fields=hostname,alive {} GOT:{'hostname': 'rocky.rocks', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}]} GET: /v1/conductors/rocky.rocks {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6d540a24-c38c-4421-ba39-e2d4c47e2468 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/conductors/rocky.rocks {} GOT:{'hostname': 'rocky.rocks', 'conductor_group': '', 'alive': True, 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:20.365343+00:00', 'updated_at': '2020-05-04T22:34:20.364882+00:00'} GET: /v1/conductors/rocky.rocks {} GOT:{'hostname': 'rocky.rocks', 'conductor_group': '', 'alive': True, 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:20.365343+00:00', 'updated_at': '2020-05-04T22:34:20.364882+00:00'} GET: /conductors/rocky.rocks {} GOT:{'hostname': 'rocky.rocks', 'conductor_group': '', 'alive': True, 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/rocky.rocks', 'rel': 'self'}, {'href': 'http://localhost/conductors/rocky.rocks', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:20.365343+00:00', 'updated_at': '2020-05-04T22:34:20.364882+00:00'} GET: /v1/conductors {} GOT:{'conductors': [{'hostname': 'why care', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/why care', 'rel': 'self'}, {'href': 'http://localhost/conductors/why care', 'rel': 'bookmark'}]}, {'hostname': 'why not', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/why not', 'rel': 'self'}, {'href': 'http://localhost/conductors/why not', 'rel': 'bookmark'}]}]} GET: /v1/conductors?detail=true {} GOT:{'conductors': [{'hostname': 'why care', 'conductor_group': '', 'alive': True, 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/why care', 'rel': 'self'}, {'href': 'http://localhost/conductors/why care', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:20.530269+00:00', 'updated_at': '2020-05-04T22:34:20.529778+00:00'}, {'hostname': 'why not', 'conductor_group': '', 'alive': True, 'drivers': ['fake-driver', 'null-driver'], 'links': [{'href': 'http://localhost/v1/conductors/why not', 'rel': 'self'}, {'href': 'http://localhost/conductors/why not', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:20.533791+00:00', 'updated_at': '2020-05-04T22:34:20.533424+00:00'}]} GET: /v1/conductors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e3f648e3-8eb1-4a2c-92dc-aa4b1f9ad689 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/conductors?sort_key=hostname {} GOT:{'conductors': [{'hostname': '1753b75f-5fba-4860-a192-c593d78a3239', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/1753b75f-5fba-4860-a192-c593d78a3239', 'rel': 'self'}, {'href': 'http://localhost/conductors/1753b75f-5fba-4860-a192-c593d78a3239', 'rel': 'bookmark'}]}, {'hostname': '472d5381-e7db-4ded-9ca6-f0e763ca3e57', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/472d5381-e7db-4ded-9ca6-f0e763ca3e57', 'rel': 'self'}, {'href': 'http://localhost/conductors/472d5381-e7db-4ded-9ca6-f0e763ca3e57', 'rel': 'bookmark'}]}, {'hostname': '89771e86-6dc1-4842-bf56-a7b17d3b0d8c', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/89771e86-6dc1-4842-bf56-a7b17d3b0d8c', 'rel': 'self'}, {'href': 'http://localhost/conductors/89771e86-6dc1-4842-bf56-a7b17d3b0d8c', 'rel': 'bookmark'}]}, {'hostname': 'a7edb8e6-ab57-4693-8629-339361a30a60', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/a7edb8e6-ab57-4693-8629-339361a30a60', 'rel': 'self'}, {'href': 'http://localhost/conductors/a7edb8e6-ab57-4693-8629-339361a30a60', 'rel': 'bookmark'}]}, {'hostname': 'd97ff032-a7c9-43d7-843e-d3085518c682', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/d97ff032-a7c9-43d7-843e-d3085518c682', 'rel': 'self'}, {'href': 'http://localhost/conductors/d97ff032-a7c9-43d7-843e-d3085518c682', 'rel': 'bookmark'}]}]} DELETE: /v1/deploy_templates/CUSTOM_DT1.json GOT:Response: 204 No Content Openstack-Request-Id: req-4aa52f00-d083-4fe5-9bc7-66b6cc0107e4 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 DELETE: /v1/deploy_templates/72cf66d1-706d-4462-be27-c2a6b5fba46f.json GOT:Response: 204 No Content Openstack-Request-Id: req-a976e464-c142-47bb-86b6-058805cb9126 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 DELETE: /v1/deploy_templates/951fdcea-1df8-4e9c-9d33-a24a5a5164ad GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} GET: /v1/deploy_templates?fields=uuid,steps {} GOT:{'deploy_templates': [{'uuid': '0ad0a894-48c2-49f0-909a-57a1b849de77', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/0ad0a894-48c2-49f0-909a-57a1b849de77', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/0ad0a894-48c2-49f0-909a-57a1b849de77', 'rel': 'bookmark'}]}, {'uuid': 'ebd402f8-d6e8-4ce1-99c2-e9ee9821b05f', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/ebd402f8-d6e8-4ce1-99c2-e9ee9821b05f', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ebd402f8-d6e8-4ce1-99c2-e9ee9821b05f', 'rel': 'bookmark'}]}, {'uuid': 'c932c4ec-3c95-4539-ab48-cd2e126c7b74', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/c932c4ec-3c95-4539-ab48-cd2e126c7b74', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c932c4ec-3c95-4539-ab48-cd2e126c7b74', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,steps&limit=3&marker=c932c4ec-3c95-4539-ab48-cd2e126c7b74'} GET: /v1/deploy_templates {} GOT:{'deploy_templates': [{'uuid': 'bf3901aa-daa4-4e45-b835-651d717d487b', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/bf3901aa-daa4-4e45-b835-651d717d487b', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/bf3901aa-daa4-4e45-b835-651d717d487b', 'rel': 'bookmark'}]}, {'uuid': 'ab4aede5-e413-43a5-927a-e6e552e5f310', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/ab4aede5-e413-43a5-927a-e6e552e5f310', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ab4aede5-e413-43a5-927a-e6e552e5f310', 'rel': 'bookmark'}]}, {'uuid': '2d983c98-6cea-466b-95a5-c9f5d326b1bf', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/2d983c98-6cea-466b-95a5-c9f5d326b1bf', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/2d983c98-6cea-466b-95a5-c9f5d326b1bf', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=2d983c98-6cea-466b-95a5-c9f5d326b1bf'}{1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_default_limit [0.086245s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query [0.082841s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query_false [0.120625s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_custom_trait [0.086395s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_sort_key_allowed [0.069915s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_and_fields [0.050086s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_standard_trait [0.060611s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_empty [0.054339s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_all_invalid_api_version [0.030748s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create [0.084884s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_pagination_no_uuid [0.073891s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_custom_fields_invalid_fields [0.057910s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f7647d69-d55d-47ac-adb2-4c8592446b79 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "4c5deb82-3f75-4aec-a182-0bade29fa947", "name": "CUSTOM_DT2", "steps": [{"interface": "raid", "step": "create_configuration0", "args": {}, "priority": 11}, {"interface": "raid", "step": "create_configuration1", "args": {}, "priority": 11}, {"interface": "raid", "step": "create_configuration2", "args": {}, "priority": 11}], "links": [{"href": "http://localhost/v1/deploy_templates/4c5deb82-3f75-4aec-a182-0bade29fa947", "rel": "self"}, {"href": "http://localhost/deploy_templates/4c5deb82-3f75-4aec-a182-0bade29fa947", "rel": "bookmark"}], "extra": {}, "created_at": "2020-05-04T22:34:20.710202+00:00", "updated_at": null} PATCH: /v1/deploy_templates/494d09aa-0101-4cba-ac6d-a7776756311d [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-860eb7c8-e21d-4099-a3a9-ab5f7bf618d9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A deploy template with UUID 494d09aa-0101-4cba-ac6d-a7776756311d already exists.\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/bed12248-46a9-45bb-be51-699270c783ec [{'path': '/steps/1', 'op': 'replace', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4ae16a56-781f-46f1-96d7-509c3f518dfe X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/1', 'op': 'replace', 'value': {'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}'. Reason: list assignment index out of range\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/d75a6145-da66-4a3b-bf38-c1440a433e25 [{'path': '/steps/0/interface', 'op': 'replace', 'value': 'foo'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b5801a57-71d2-41d0-8ce2-a51cb9d5109d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute interface. Value: 'foo'. Value should be one of: deploy, management, bios, power, raid\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/148056a9-1799-4e8c-96b8-9e82da1c99ad [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4d3d0520-04f4-471a-9313-b26d32c9a010 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "148056a9-1799-4e8c-96b8-9e82da1c99ad", "name": "CUSTOM_DT2", "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/148056a9-1799-4e8c-96b8-9e82da1c99ad", "rel": "self"}, {"href": "http://localhost/deploy_templates/148056a9-1799-4e8c-96b8-9e82da1c99ad", "rel": "bookmark"}], "extra": {}, "created_at": "2020-05-04T22:34:21.055235+00:00", "updated_at": null} PATCH: /v1/deploy_templates/df538512-f279-44e6-9d30-580391b93f91 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} PATCH: /v1/deploy_templates/CUSTOM_DT1 [{'path': '/steps', 'value': [{'interface': 'bios', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}], 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-baded9a7-c84f-400a-8e9a-c6d496bd1889 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "0a8df966-2b25-4a96-85ed-f8a2ab0b6215", "name": "CUSTOM_DT1", "steps": [{"interface": "bios", "step": "apply_configuration", "args": {"foo": "bar"}, "priority": 42}], "links": [{"href": "http://localhost/v1/deploy_templates/0a8df966-2b25-4a96-85ed-f8a2ab0b6215", "rel": "self"}, {"href": "http://localhost/deploy_templates/0a8df966-2b25-4a96-85ed-f8a2ab0b6215", "rel": "bookmark"}], "extra": {}, "created_at": "2020-05-04T22:34:21.202090+00:00", "updated_at": null} PATCH: /v1/deploy_templates/067b6b52-72b4-4275-a776-a45323ba8f3e [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1e080853-a218-4fa7-aafe-7d2e72bc6d42 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "067b6b52-72b4-4275-a776-a45323ba8f3e", "name": "CUSTOM_DT2", "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/067b6b52-72b4-4275-a776-a45323ba8f3e", "rel": "self"}, {"href": "http://localhost/deploy_templates/067b6b52-72b4-4275-a776-a45323ba8f3e", "rel": "bookmark"}], "extra": {}, "created_at": "2020-05-04T22:34:21.290472+00:00", "updated_at": null} PATCH: /v1/deploy_templates/5b98bdd5-d4ae-4a09-9998-9fe20ae44a0e [{'path': '/name', 'value': 'HW_CPU_X86_VMX', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-02d095b4-3564-4209-a06d-74ca8ce32676 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "5b98bdd5-d4ae-4a09-9998-9fe20ae44a0e", "name": "HW_CPU_X86_VMX", "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/5b98bdd5-d4ae-4a09-9998-9fe20ae44a0e", "rel": "self"}, {"href": "http://localhost/deploy_templates/5b98bdd5-d4ae-4a09-9998-9fe20ae44a0e", "rel": "bookmark"}], "extra": {}, "created_at": "2020-05-04T22:34:21.350889+00:00", "updated_at": null} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '58c05390-6384-47c8-816b-f6dbb4ddc1dc', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/58c05390-6384-47c8-816b-f6dbb4ddc1dc Openstack-Request-Id: req-58df6ede-b2cd-4e39-beca-fee03fc2dc4e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "58c05390-6384-47c8-816b-f6dbb4ddc1dc", "name": "CUSTOM_DT1", "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/58c05390-6384-47c8-816b-f6dbb4ddc1dc", "rel": "self"}, {"href": "http://localhost/deploy_templates/58c05390-6384-47c8-816b-f6dbb4ddc1dc", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} GET: /v1/deploy_templates/58c05390-6384-47c8-816b-f6dbb4ddc1dc {} GOT:{'uuid': '58c05390-6384-47c8-816b-f6dbb4ddc1dc', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/58c05390-6384-47c8-816b-f6dbb4ddc1dc', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/58c05390-6384-47c8-816b-f6dbb4ddc1dc', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'cf637342-509b-4646-be2b-aa37565c627d', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': [{'bar': 'baz'}]}, 'priority': 10}], 'extra': {}}{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_complex_step_args [0.093620s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_error [0.107112s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one [0.087402s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_one [0.059757s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_generate_uuid [0.078630s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_extra [0.043767s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key [0.071274s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_foo [0.045257s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name_none [0.047444s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_allowed [0.076763s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_foo [0.045735s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface2 [0.073600s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_negative_priority [0.053158s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_step [0.045846s] ... ok GET: /v1/deploy_templates?detail=True {} GOT:{'deploy_templates': [{'uuid': 'deb7256c-b10f-477c-8158-7e7113ce6bb6', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/deb7256c-b10f-477c-8158-7e7113ce6bb6', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/deb7256c-b10f-477c-8158-7e7113ce6bb6', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2020-05-04T22:34:21.095316+00:00', 'updated_at': None}]} GET: /v1/deploy_templates {} GOT:{'deploy_templates': [{'uuid': 'cbd53597-1b05-40a6-9ec8-23371a5a3a5d', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/cbd53597-1b05-40a6-9ec8-23371a5a3a5d', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/cbd53597-1b05-40a6-9ec8-23371a5a3a5d', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?detail=False {} GOT:{'deploy_templates': [{'uuid': 'cbd53597-1b05-40a6-9ec8-23371a5a3a5d', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/cbd53597-1b05-40a6-9ec8-23371a5a3a5d', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/cbd53597-1b05-40a6-9ec8-23371a5a3a5d', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?sort_key=name&detail=True {} GOT:{'deploy_templates': [{'uuid': '69df9651-7704-47a2-84f7-c6b04511b038', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/69df9651-7704-47a2-84f7-c6b04511b038', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/69df9651-7704-47a2-84f7-c6b04511b038', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2020-05-04T22:34:21.287020+00:00', 'updated_at': None}, {'uuid': '4ce03853-1d9d-4452-ba8b-c72ec2a6b87f', 'name': 'CUSTOM_DT2', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/4ce03853-1d9d-4452-ba8b-c72ec2a6b87f', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/4ce03853-1d9d-4452-ba8b-c72ec2a6b87f', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2020-05-04T22:34:21.283409+00:00', 'updated_at': None}, {'uuid': '20743590-2ef8-479b-9f84-8ffb3aa7645f', 'name': 'CUSTOM_DT3', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/20743590-2ef8-479b-9f84-8ffb3aa7645f', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/20743590-2ef8-479b-9f84-8ffb3aa7645f', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2020-05-04T22:34:21.279562+00:00', 'updated_at': None}]} GET: /v1/deploy_templates?detail=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-37f2590e-fbd2-4756-879f-1953c14474ec X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} GET: /v1/deploy_templates {} GOT:{'deploy_templates': []} GET: /v1/deploy_templates {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"The API version does not allow deploy templates\"}"} GET: /v1/deploy_templates?fields=name&limit=2 {} GOT:{'deploy_templates': [{'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/ddbcdc85-56c5-4d28-92bb-21bffc371965', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ddbcdc85-56c5-4d28-92bb-21bffc371965', 'rel': 'bookmark'}]}, {'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/1a1773eb-bfc4-493b-8cc7-02b1bcc491a7', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/1a1773eb-bfc4-493b-8cc7-02b1bcc491a7', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=1a1773eb-bfc4-493b-8cc7-02b1bcc491a7'} GET: /v1/deploy_templates/d31963d8-bfe6-454a-8d53-0ce418bb3932?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4adc657e-9b36-4bd6-ad14-8c21bb32fccc X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/deploy_templates/ff9f9f66-6afd-48d7-9e11-4cdf2e7508a4 {} GOT:{'uuid': 'ff9f9f66-6afd-48d7-9e11-4cdf2e7508a4', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/ff9f9f66-6afd-48d7-9e11-4cdf2e7508a4', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ff9f9f66-6afd-48d7-9e11-4cdf2e7508a4', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2020-05-04T22:34:21.621275+00:00', 'updated_at': None} GET: /v1/deploy_templates {} GOT:{'deploy_templates': [{'uuid': 'ba62b851-4c58-433c-9bc0-92b6a67675c0', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/ba62b851-4c58-433c-9bc0-92b6a67675c0', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ba62b851-4c58-433c-9bc0-92b6a67675c0', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?sort_key=uuid {} GOT:{'deploy_templates': [{'uuid': 'a90574cf-06bf-4fa7-bfb5-92d02938f725', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/a90574cf-06bf-4fa7-bfb5-92d02938f725', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a90574cf-06bf-4fa7-bfb5-92d02938f725', 'rel': 'bookmark'}]}, {'uuid': 'b30e5841-e310-4c4d-860b-69f7a20c3e2b', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/b30e5841-e310-4c4d-860b-69f7a20c3e2b', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/b30e5841-e310-4c4d-860b-69f7a20c3e2b', 'rel': 'bookmark'}]}, {'uuid': 'faced29d-616a-4269-9701-9c74e3e0ecce', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/faced29d-616a-4269-9701-9c74e3e0ecce', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/faced29d-616a-4269-9701-9c74e3e0ecce', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?sort_key=name&detail=False {} GOT:{'deploy_templates': [{'uuid': 'effbeb05-c1c8-4b31-95b7-661842be98d3', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/effbeb05-c1c8-4b31-95b7-661842be98d3', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/effbeb05-c1c8-4b31-95b7-661842be98d3', 'rel': 'bookmark'}]}, {'uuid': '254cf243-9179-4d5c-8b4b-6da35b49e35d', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/254cf243-9179-4d5c-8b4b-6da35b49e35d', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/254cf243-9179-4d5c-8b4b-6da35b49e35d', 'rel': 'bookmark'}]}, {'uuid': 'c38c1d10-6477-40ed-ba94-8df97c551256', 'name': 'CUSTOM_DT3', 'links': [{'href': 'http://localhost/v1/deploy_templates/c38c1d10-6477-40ed-ba94-8df97c551256', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c38c1d10-6477-40ed-ba94-8df97c551256', 'rel': 'bookmark'}]}]} PATCH: /v1/deploy_templates/2cf6fbd4-230b-4993-8811-072b77e47342 [{'path': '/steps/1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9d78d2b2-d905-4e17-b016-bcf2372b1735 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "2cf6fbd4-230b-4993-8811-072b77e47342", "name": "CUSTOM_DT2", "steps": [{"interface": "raid", "step": "create_configuration0", "args": {}, "priority": 10}, {"interface": "raid", "step": "create_configuration2", "args": {}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/2cf6fbd4-230b-4993-8811-072b77e47342", "rel": "self"}, {"href": "http://localhost/deploy_templates/2cf6fbd4-230b-4993-8811-072b77e47342", "rel": "bookmark"}], "extra": {}, "created_at": "2020-05-04T22:34:21.927788+00:00", "updated_at": null}{1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_multi [0.066584s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_property_fail [0.059031s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_steps [0.080385s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_step_interface_fail [0.150521s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_old_api_version [0.087162s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/cf637342-509b-4646-be2b-aa37565c627d Openstack-Request-Id: req-cb5db6bb-1f04-4a88-bb8d-737230386e89 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "cf637342-509b-4646-be2b-aa37565c627d", "name": "CUSTOM_DT1", "steps": [{"interface": "raid", "step": "create_configuration", "args": {"foo": [{"bar": "baz"}]}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/cf637342-509b-4646-be2b-aa37565c627d", "rel": "self"}, {"href": "http://localhost/deploy_templates/cf637342-509b-4646-be2b-aa37565c627d", "rel": "bookmark"}], "extra": {}, "created_at": "2020-05-04T22:34:21.564636+00:00", "updated_at": null} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '67e60b6d-f801-4f40-97bb-9b940ac1c1f6', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-f60952a1-e23a-43a2-8a46-1e06913f7671 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/23f9f10b-bd08-46cc-bf02-10b7ea423b68 Openstack-Request-Id: req-a864f70b-e29a-4402-8da5-839b81706fca X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "23f9f10b-bd08-46cc-bf02-10b7ea423b68", "name": "CUSTOM_DT1", "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/23f9f10b-bd08-46cc-bf02-10b7ea423b68", "rel": "self"}, {"href": "http://localhost/deploy_templates/23f9f10b-bd08-46cc-bf02-10b7ea423b68", "rel": "bookmark"}], "extra": {}, "created_at": "2020-05-04T22:34:21.724403+00:00", "updated_at": null} GET: /v1/deploy_templates/23f9f10b-bd08-46cc-bf02-10b7ea423b68 {} GOT:{'uuid': '23f9f10b-bd08-46cc-bf02-10b7ea423b68', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/23f9f10b-bd08-46cc-bf02-10b7ea423b68', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/23f9f10b-bd08-46cc-bf02-10b7ea423b68', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2020-05-04T22:34:21.724403+00:00', 'updated_at': None} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'c4b1e1d3-5667-49dc-a125-53a0ae809966', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': 42} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-200831f5-d5e3-4902-ab1d-5019f761e40a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute template. Value: '{'name': 'CUSTOM_DT1', 'uuid': 'c4b1e1d3-5667-49dc-a125-53a0ae809966', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': 42}'. Value not a valid dict: 42\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '973865f8-ac5e-4a94-a6a7-6e47e2947c9a', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}, 'foo': 'bar'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-369c53c5-49a7-4ee6-af88-7a716618f7e8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unknown attribute for argument template: foo\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': None, 'uuid': '21ea9df5-6646-4015-85ac-c5c405526ce2', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-24ad3db2-c83e-49d3-a435-1f9431265fe3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: Deploy template name cannot be None.\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '05125ed0-e3c9-414c-a5ea-96a966fab966', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10, 'foo': 'bar'}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ae963483-32dc-42da-ad56-04e3f6d95336 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unknown attribute for argument template.steps: foo\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '9614c109-dbf7-4d75-b653-9c0075021a6b', 'steps': [{'interface': 'foo', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-91536ac8-bcf5-4073-8912-9f4e24d87c08 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute interface. Value: 'foo'. Value should be one of: deploy, management, bios, power, raid\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '12c15583-e7b8-4f8a-ba6e-ebffb5277dc7', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': -1}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-32f34f4a-9543-46ee-8db1-8195b99c6a55 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute priority. Value: '-1'. Value should be greater or equal to 0\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '7c18aba4-cb91-4f41-a24c-512979ef74ba', 'steps': [{'interface': 'raid', 'step': 42, 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fc4a2f35-3bcc-475b-82c1-6bb7739a95a1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute step. Value: '42'. Wrong type. Expected '', got ''\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': 'a5cae93d-4292-46c1-a126-07b6bbeb8675', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/a5cae93d-4292-46c1-a126-07b6bbeb8675 Openstack-Request-Id: req-f0de9687-6d92-4e9b-aafc-7bd9cce8e597 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "a5cae93d-4292-46c1-a126-07b6bbeb8675", "name": "CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/a5cae93d-4292-46c1-a126-07b6bbeb8675", "rel": "self"}, {"href": "http://localhost/deploy_templates/a5cae93d-4292-46c1-a126-07b6bbeb8675", "rel": "bookmark"}], "extra": {}, "created_at": "2020-05-04T22:34:22.180022+00:00", "updated_at": null}{0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_long_name [0.064142s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_not_a_trait [0.099672s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_too_long [0.077080s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_with_json [0.099315s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_steps [0.096621s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_invalid_name [0.056941s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_interface [0.045795s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_standard_trait_name [0.052602s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_not_found [0.057771s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_steps_invalid_duplicate [0.045120s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_doesnt_contain_id [0.078178s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_invalid_driver_name [0.044902s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_api_version [0.027784s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_empty_steps [0.046763s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_async [0.070076s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name [0.042915s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_driver_not_found [0.053304s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_steps [0.044552s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_methods [0.089155s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_sync [0.082244s] ... ok PATCH: /v1/deploy_templates/86412d58-2a63-43ff-b54c-3d8797587e6b [{'path': '/steps/0/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2e9cebb8-1ee7-4836-9166-35fb4e31ef20 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/steps/0/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/414caf7f-72bb-4243-a8a0-cab2f17f0886 [{'path': '/steps', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1202b6d6-8a0f-41a5-9152-d5d8c8949b07 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/steps' is a mandatory attribute and can not be removed\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/3b961f27-1d35-4371-8b25-ee0842683241 [{'path': '/steps/0', 'op': 'replace', 'value': {'interface': 'foo', 'step': 'apply_configuration', 'args': {'foo': 'bar'}, 'priority': 42}}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-21f77428-26aa-4676-b0a0-37a0ebf45bed X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute interface. Value: 'foo'. Value should be one of: management, raid, bios, deploy, power\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/CUSTOM_DT1 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} PATCH: /v1/deploy_templates/CUSTOM_DT1.json [{'path': '/steps/0/interface', 'value': 'bios', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-577e8bea-f463-4801-938d-900ff5845061 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "d68aa558-cd8f-4d45-accf-b1dfce4ffcda", "name": "CUSTOM_DT1", "steps": [{"interface": "bios", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/d68aa558-cd8f-4d45-accf-b1dfce4ffcda", "rel": "self"}, {"href": "http://localhost/deploy_templates/d68aa558-cd8f-4d45-accf-b1dfce4ffcda", "rel": "bookmark"}], "extra": {}, "created_at": "2020-05-04T22:34:22.405911+00:00", "updated_at": null} PATCH: /v1/deploy_templates/f706961b-bbf7-43e9-89d2-64e693a1d4da [{'path': '/name', 'value': 'aa:bb_cc', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ae558034-7c4e-4dcc-be31-61024b2d63c8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template name must be a valid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/7271ba77-805e-47cb-a9b0-6cf5ae63ece5 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-25a5077f-47c3-4391-88c5-7b8e2095cb3f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template 7271ba77-805e-47cb-a9b0-6cf5ae63ece5 could not be found.\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '0b52dc67-3f8c-4ee2-abda-9782dd603699', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/0b52dc67-3f8c-4ee2-abda-9782dd603699 Openstack-Request-Id: req-77502a5d-fead-48ac-88b6-833d16be937b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "0b52dc67-3f8c-4ee2-abda-9782dd603699", "name": "CUSTOM_DT1", "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/0b52dc67-3f8c-4ee2-abda-9782dd603699", "rel": "self"}, {"href": "http://localhost/deploy_templates/0b52dc67-3f8c-4ee2-abda-9782dd603699", "rel": "bookmark"}], "extra": {}, "created_at": "2020-05-04T22:34:22.619015+00:00", "updated_at": null} GET: /v1/deploy_templates/0b52dc67-3f8c-4ee2-abda-9782dd603699 {} GOT:{'uuid': '0b52dc67-3f8c-4ee2-abda-9782dd603699', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/0b52dc67-3f8c-4ee2-abda-9782dd603699', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/0b52dc67-3f8c-4ee2-abda-9782dd603699', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2020-05-04T22:34:22.619015+00:00', 'updated_at': None} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '4fa79386-2145-443e-8169-0069fae9d5f1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 405 Method Not Allowed Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"The API version does not allow deploy templates\"}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '1bcc1cf0-6cee-4c64-9247-ee7855473072', 'steps': [], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-82efffc4-dda4-41c8-93ba-690e61b9e53c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: No deploy steps specified. A deploy template must have at least one deploy step..\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 42, 'uuid': 'a889f3fc-46a1-4d6a-ac03-9e4277960664', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-aaf0753b-2200-42a2-aacc-3faaab27fffa X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute name. Value: '42'. Wrong type. Expected '', got ''\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '273aa44c-90be-405e-9fbd-ecdced03ec8f', 'steps': {}, 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-12ad6e54-c9c2-489f-bf8d-866a4917bdf9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute template. Value: '{'name': 'CUSTOM_DT1', 'uuid': '273aa44c-90be-405e-9fbd-ecdced03ec8f', 'steps': {}, 'extra': {}}'. Value not a valid list: {}\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '20657b4a-a2fa-4caa-a752-431b28e5046d', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': 'not a dict', 'priority': 10}], 'extra': {}}{1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args1 [0.073611s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args2 [0.065676s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface1 [0.044687s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_priority [0.064846s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_name [0.044149s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_args [0.045124s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_priority [0.045183s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_step [0.045422s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_step_string_priority [0.061784s] ... ok POST: /v1/deploy_templates {'name': 'not-a-trait', 'uuid': '13dc8c6b-65a5-48b3-b162-546d2fa3e98e', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-72f6f41f-43b8-4d89-ba49-9d82e31f87be X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template name must be a valid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': 'e3f6e24f-96ae-4d8a-86b8-45348ff36d5c', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7c9b3e5f-ac21-4bde-943f-b73d059a5ff8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template name must be a valid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '329c2daa-91d4-4104-88d7-095b0009143d', 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-20112072-b74e-4437-aaa0-14b4320c1f81 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute steps. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '841a6a04-f87d-444a-9635-10eab25b4651', 'steps': [{'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-700e830e-a8ba-403c-b3da-9a73c6cc7cd2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute interface. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'HW_CPU_X86_VMX', 'uuid': '6cd11b40-df1d-4d68-a891-d4062aae598f', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/6cd11b40-df1d-4d68-a891-d4062aae598f Openstack-Request-Id: req-b721eec2-7281-4823-830a-3f77c1a1893f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6cd11b40-df1d-4d68-a891-d4062aae598f", "name": "HW_CPU_X86_VMX", "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/6cd11b40-df1d-4d68-a891-d4062aae598f", "rel": "self"}, {"href": "http://localhost/deploy_templates/6cd11b40-df1d-4d68-a891-d4062aae598f", "rel": "bookmark"}], "extra": {}, "created_at": "2020-05-04T22:34:22.562175+00:00", "updated_at": null} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '06795348-e444-4bcf-8f8c-5bd29174e86a', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '0'}, 'priority': 0}, {'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '1'}, 'priority': 1}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eb115e92-bfaa-4780-a821-6791a7f1328f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: Duplicate deploy steps. A deploy template cannot have multiple deploy steps with the same interface and step. Duplicates: interface: raid, step: create_configuration.\", \"debuginfo\": null}"} GET: /v1/drivers/bad_driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0ddf7678-4cad-40af-85c9-dbb9bb960f23 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): bad_driver.\", \"debuginfo\": null}"} POST: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-5c837346-10c3-4d55-8238-a057d0755333 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null POST: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-effee249-a208-4e5b-b27e-63940084d141 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No conductors registered.\", \"debuginfo\": null}"} GET: /v1/drivers/fake-hardware-type/vendor_passthru/methods {} GOT:{'foo': 'bar'} GET: /v1/drivers/fake-hardware-type/vendor_passthru/methods {} GOT:{'foo': 'bar'} POST: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d8a80f96-cbd9-4943-8377-e220ea715e15 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"return_key": "return_value"} GET: /v1/drivers {} GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]}{0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers [0.216338s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version_false [0.093074s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_classic [0.073387s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cached [0.114015s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cannot_load [0.044438s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic [0.174434s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_fake [0.047601s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_hw_type [0.045275s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_properties_hidden_in_lower_version [0.066067s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed [0.169312s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_type_hidden_in_lower_version [0.064409s] ... ok GET: /v1/drivers?detail=False {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-dec442a2-069e-4e24-98a5-6840d19cb8fa X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\", \"debuginfo\": null}"} GET: /v1/drivers?type=classic {} GOT:{'drivers': []} GET: /v1/drivers {} GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'type': 'dynamic', 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}]}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'type': 'dynamic', 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2/properties', 'rel': 'bookmark'}]}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /v1/drivers?detail=True {} GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'type': 'dynamic', 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'default_boot_interface': None, 'default_console_interface': None, 'default_deploy_interface': 'direct', 'default_inspect_interface': None, 'default_management_interface': None, 'default_network_interface': None, 'default_power_interface': None, 'default_raid_interface': None, 'default_vendor_interface': None, 'enabled_boot_interfaces': [], 'enabled_console_interfaces': [], 'enabled_deploy_interfaces': ['iscsi', 'direct'], 'enabled_inspect_interfaces': [], 'enabled_management_interfaces': [], 'enabled_network_interfaces': [], 'enabled_power_interfaces': [], 'enabled_raid_interfaces': [], 'enabled_vendor_interfaces': []}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'type': 'dynamic', 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2/properties', 'rel': 'bookmark'}], 'default_boot_interface': None, 'default_console_interface': None, 'default_deploy_interface': None, 'default_inspect_interface': None, 'default_management_interface': None, 'default_network_interface': None, 'default_power_interface': None, 'default_raid_interface': None, 'default_vendor_interface': None, 'enabled_boot_interfaces': [], 'enabled_console_interfaces': [], 'enabled_deploy_interfaces': [], 'enabled_inspect_interfaces': [], 'enabled_management_interfaces': [], 'enabled_network_interfaces': [], 'enabled_power_interfaces': [], 'enabled_raid_interfaces': [], 'enabled_vendor_interfaces': []}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /v1/drivers?detail=True {} GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'type': 'dynamic', 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'default_bios_interface': None, 'default_boot_interface': None, 'default_console_interface': None, 'default_deploy_interface': 'direct', 'default_inspect_interface': None, 'default_management_interface': None, 'default_network_interface': None, 'default_power_interface': None, 'default_raid_interface': None, 'default_rescue_interface': None, 'default_storage_interface': None, 'default_vendor_interface': None, 'enabled_bios_interfaces': [], 'enabled_boot_interfaces': [], 'enabled_console_interfaces': [], 'enabled_deploy_interfaces': ['iscsi', 'direct'], 'enabled_inspect_interfaces': [], 'enabled_management_interfaces': [], 'enabled_network_interfaces': [], 'enabled_power_interfaces': [], 'enabled_raid_interfaces': [], 'enabled_rescue_interfaces': [], 'enabled_storage_interfaces': [], 'enabled_vendor_interfaces': []}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'type': 'dynamic', 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2/properties', 'rel': 'bookmark'}], 'default_bios_interface': None, 'default_boot_interface': None, 'default_console_interface': None, 'default_deploy_interface': None, 'default_inspect_interface': None, 'default_management_interface': None, 'default_network_interface': None, 'default_power_interface': None, 'default_raid_interface': None, 'default_rescue_interface': None, 'default_storage_interface': None, 'default_vendor_interface': None, 'enabled_bios_interfaces': [], 'enabled_boot_interfaces': [], 'enabled_console_interfaces': [], 'enabled_deploy_interfaces': [], 'enabled_inspect_interfaces': [], 'enabled_management_interfaces': [], 'enabled_network_interfaces': [], 'enabled_power_interfaces': [], 'enabled_raid_interfaces': [], 'enabled_rescue_interfaces': [], 'enabled_storage_interfaces': [], 'enabled_vendor_interfaces': []}]}{0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed_storage_interface [0.261021s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-342c0aca-3cc8-4a84-9e34-850ef266e38a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute template. Value: '{'name': 'CUSTOM_DT1', 'uuid': '20657b4a-a2fa-4caa-a752-431b28e5046d', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': 'not a dict', 'priority': 10}], 'extra': {}}'. Value not a valid dict: not a dict\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '65dea364-146b-43c4-afb1-01d801c660a8', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': [], 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1ca157de-9977-44e4-a71f-39d8999c724f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute template. Value: '{'name': 'CUSTOM_DT1', 'uuid': '65dea364-146b-43c4-afb1-01d801c660a8', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': [], 'priority': 10}], 'extra': {}}'. Value not a valid dict: []\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '406cf9db-cab5-4a44-9268-130782fe509d', 'steps': [{'interface': [3], 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-73955462-6a9b-4866-9108-079b97cddb67 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute interface. Value: '[3]'. unhashable type: 'list'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'a4f9fd93-5000-4f55-94bd-e2a0ca639d68', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 'not a number'}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-14fc129d-0aa4-4319-b709-796890cf7d6c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute template. Value: '{'name': 'CUSTOM_DT1', 'uuid': 'a4f9fd93-5000-4f55-94bd-e2a0ca639d68', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 'not a number'}], 'extra': {}}'. invalid literal for int() with base 10: 'not a number'\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'uuid': 'f52b4505-5634-4978-bc30-03fac5f8f7ed', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a8f91012-b574-46de-92b1-21d76583f9c5 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute name. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'ab31a418-462b-4c5a-aca8-bb17cfd3f5eb', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-de8574b5-88ad-4f3d-9b50-7ad78aa416e5 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute args. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '52951115-ce7c-4aae-a290-b40d07088717', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0e924a71-381b-4dd1-8f95-770d711380ea X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute priority. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '08917384-0b19-46e1-9c13-1d1f9f6f6750', 'steps': [{'interface': 'raid', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bbe11c17-9e51-4c45-8e37-a6a3b56532e0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute step. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'e4716bd6-d832-4dcb-91d0-cfeb9a6660cd', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': '42'}], 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/e4716bd6-d832-4dcb-91d0-cfeb9a6660cd Openstack-Request-Id: req-f85fb033-8397-4122-8d1f-ee09d2c18c6e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "e4716bd6-d832-4dcb-91d0-cfeb9a6660cd", "name": "CUSTOM_DT1", "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 42}], "links": [{"href": "http://localhost/v1/deploy_templates/e4716bd6-d832-4dcb-91d0-cfeb9a6660cd", "rel": "self"}, {"href": "http://localhost/deploy_templates/e4716bd6-d832-4dcb-91d0-cfeb9a6660cd", "rel": "bookmark"}], "extra": {}, "created_at": "2020-05-04T22:34:23.309327+00:00", "updated_at": null} GET: /v1/drivers/manual-management/properties {} GOT:{'prop1': 'Property 1. Required.'} GET: /v1/drivers/manual-management/properties {} GOT:{'prop1': 'Property 1. Required.'} GET: /v1/drivers/manual-management/properties {} GOT:{'prop1': 'Property 1. Required.'} GET: /v1/drivers/driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-86933d73-d28b-4b3f-b16e-92b4888239d7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): driver.\", \"debuginfo\": null}"} GET: /v1/drivers/test/properties {} GOT:{'prop1': 'Property 1. Required.'} GET: /v1/drivers/manual-management/properties {} GOT:{'prop1': 'Property 1. Required.'} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}]} DELETE: /v1/drivers/fake-hardware-type/vendor_passthru/do_test GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-cdcedf37-8ef2-4343-88c8-70619f426f76 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_delete [0.065232s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_get [0.131305s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_method_not_found [0.094608s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_put [0.149911s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links [0.229429s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version [0.050358s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_not_found [0.048581s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links_public_url [0.112355s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_iface_not_supported [0.064827s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_host_id [0.040942s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_base_interfaces [0.169367s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_vnic_type [0.041326s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_device_id [0.042163s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_status [0.039464s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unbind_port_events [0.040519s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_latest_interfaces [0.161240s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_conductor_api_policy [0.038771s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_no_active_conductor [0.049305s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_value [0.046402s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_version [0.043753s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_dynamic [0.063454s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_node_api_policy [0.189463s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties [0.066768s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_portgroup_api_policy [0.073786s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_ramdisk_api_policy [0.025878s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_cached [0.107226s] ... ok GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type-2 {} GOT:{'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://foo/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://foo/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://foo/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://foo/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host2', 'fake-host1'], 'links': [{'href': 'http://foo/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://foo/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d7f261ea-6a76-426b-874b-fac6f6f35cff X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver fake-hardware does not support raid (disabled or not implemented).\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'], 'binding:vnic_type': 'baremetal'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2a4b3ea5-432b-43f8-9625-12c76c3f82b1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute events. Value: '[{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': ['binding:host_id', 'IS', 'NODE_UUID', 'IN', 'IRONIC'], 'binding:vnic_type': 'baremetal'}]'. Wrong type. Expected '', got ''\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT']}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7ee797b8-6afc-4f6b-afe2-533ac9bd0b58 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute events. Value: '[{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': ['binding:vnic_type', 'SHOULD', 'BE', 'TEXT']}]'. Wrong type. Expected '', got ''\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': 'DEVICE_ID_SHOULD_BE_UUID', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-156c7f63-958f-483e-841c-2eef7dafc4e3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Event validation failure for device_id. Expected a UUID but received DEVICE_ID_SHOULD_BE_UUID.\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': ['status', 'SHOULD', 'BE', 'TEXT'], 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ea753fb8-f150-4235-b461-396f177536ef X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute events. Value: '[{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': ['status', 'SHOULD', 'BE', 'TEXT'], 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]'. Wrong type. Expected '', got ''\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.unbind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-68c167a2-36c3-4f8a-b5db-920fd4853ad5 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 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-abbe0f61-0256-45d9-9119-f6a152e9138c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a logical name or UUID but received invalid%id^.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_invalid_vif_id [0.065391s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_locked [0.105450s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_not_found [0.110718s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_list [0.066749s] ... ok GET: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {} GOT:foo POST: /v1/drivers/fake-hardware-type/vendor_passthru {'test_key': 'test_value'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-aca01f6e-3864-4944-8032-6b8b6d055314 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"method\\\"\", \"debuginfo\": null}"} PUT: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {'test_key': 'test_value'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-3a069dbc-3f54-4719-a664-bdd337d7bcfb X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null GET: /v1/drivers?detail=True {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c372de58-4435-4a25-a434-be3cd43c22ea X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\", \"debuginfo\": null}"} GET: /v1/drivers/nope {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f9927357-6464-4a8d-b537-2d46fb7adb15 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following driver(s) or hardware type(s): nope.\", \"debuginfo\": null}"} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'type': 'dynamic', 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'default_boot_interface': None, 'default_console_interface': None, 'default_deploy_interface': 'direct', 'default_inspect_interface': None, 'default_management_interface': None, 'default_network_interface': None, 'default_power_interface': None, 'default_raid_interface': None, 'default_vendor_interface': None, 'enabled_boot_interfaces': [], 'enabled_console_interfaces': [], 'enabled_deploy_interfaces': ['direct', 'iscsi'], 'enabled_inspect_interfaces': [], 'enabled_management_interfaces': [], 'enabled_network_interfaces': [], 'enabled_power_interfaces': [], 'enabled_raid_interfaces': [], 'enabled_vendor_interfaces': []} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type/properties {} GOT:{} GET: /drivers/fake-hardware-type/properties {} GOT:{} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'type': 'dynamic', 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}], 'default_bios_interface': None, 'default_boot_interface': None, 'default_console_interface': None, 'default_deploy_interface': 'direct', 'default_inspect_interface': None, 'default_management_interface': None, 'default_network_interface': None, 'default_power_interface': None, 'default_raid_interface': None, 'default_rescue_interface': None, 'default_storage_interface': None, 'default_vendor_interface': None, 'enabled_bios_interfaces': [], 'enabled_boot_interfaces': [], 'enabled_console_interfaces': [], 'enabled_deploy_interfaces': ['direct', 'iscsi'], 'enabled_inspect_interfaces': [], 'enabled_management_interfaces': [], 'enabled_network_interfaces': [], 'enabled_power_interfaces': [], 'enabled_raid_interfaces': [], 'enabled_rescue_interfaces': [], 'enabled_storage_interfaces': [], 'enabled_vendor_interfaces': []} GET: /v1/drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /drivers/fake-hardware-type {} GOT:{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]} GET: /v1/drivers/fake-hardware-type/properties {} GOT:{} GET: /drivers/fake-hardware-type/properties {} GOT:{} GET: /v1/drivers {} GOT:{'drivers': []} GET: /v1/drivers?type=working {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-defc0a65-46fa-4ff5-bb03-f8f540b4bae8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"\\\"type\\\" filter must be one of \\\"classic\\\" or \\\"dynamic\\\", if specified.\", \"debuginfo\": null}"} GET: /v1/drivers?type=classic {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a5076516-58db-479e-9460-fe945c2985a1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.30\", \"debuginfo\": null}"} GET: /v1/drivers?type=dynamic {} GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'type': 'dynamic', 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}]}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'type': 'dynamic', 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2/properties', 'rel': 'bookmark'}]}]} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:{'foo': 'description of foo'} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:{'foo': 'description of foo'} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:{'foo': 'description of foo'} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:{'foo': 'description of foo'} GET: /v1/drivers/fake-hardware-type/raid/logical_disk_properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0d6f2e00-7bda-462c-a2d9-b42d4a14faa2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_older_version [0.060983s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events [0.095177s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_does_not_contain_event [0.102951s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_invalid_event [0.065889s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_subcontroller_old_version [0.060559s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_unsupported_api_version [0.040259s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_multiple_events [0.039465s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios [0.094463s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_bind_port_events [0.040019s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_not_list [0.016764s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_delete_port_events [0.039069s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_mac_address [0.036650s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_port_id [0.039875s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_interface_value_invalid [0.200818s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_key_invalid [0.012171s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_interface [0.011248s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_value [0.011009s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_valid [0.012958s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_associated [0.064283s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unknown_event_property [0.231712s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node [0.062818s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_chassis_api_policy [0.058410s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name [0.066166s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_driver_api_policy [0.049005s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found [0.046457s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_port_api_policy [0.075312s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name [0.048686s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name_unsupported [0.045233s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach [0.058087s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_by_node_name [0.057046s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource [0.068553s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_conductor_unavailable [0.060165s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource_no_connector_id [0.066570s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_no_vif_id [0.057573s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_targets_subresource [0.068235s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach [0.058141s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_by_node_name [0.057365s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_error [0.097163s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_locked [0.058095s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_not_found [0.069273s] ... ok POST: /v1/events {'events': [{'event': 'valid.event'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-d4000fec-182a-464f-af2a-13b0faa331b9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 POST: /v1/events {'events': [{'INVALID': 'fake.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d2087f9a-da22-4e4e-94f1-51901a978985 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory keys: event\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'invalid.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-21280155-a4ef-4fbf-abd1-4ec20594bad7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"invalid.event is not one of valid events: network.unbind_port, network.bind_port, network.delete_port.\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'valid.event'}]} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-40c1ff71-5640-4287-9d75-9519372e845c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'valid.event1'}, {'event': 'valid.event2'}, {'event': 'valid.event3'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-719b05fa-7699-4688-b13f-070646e6dee1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-fa6b2cad-4279-42a2-99f0-c77a7cb94c81 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 POST: /v1/events {'events': [{'event': 'network.delete_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-7512624e-c08a-4d6c-ab13-d0fcc89315f8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': '11111111-aaaa-bbbb-cccc-555555555555', 'mac_address': 'INVALID_MAC_ADDRESS', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-249313ea-b857-409b-991a-b4f4c004188c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Event validation failure for mac_address. Expected a MAC address but received INVALID_MAC_ADDRESS.\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.bind_port', 'port_id': 'PORT_ID_SHOULD_BE_UUID', 'mac_address': 'de:ad:ca:fe:ba:be', 'status': 'ACTIVE', 'device_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:host_id': '22222222-aaaa-bbbb-cccc-555555555555', 'binding:vnic_type': 'baremetal'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5441bd6d-352b-40fa-936b-ab0cdc9edec1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Event validation failure for port_id. Expected a UUID but received PORT_ID_SHOULD_BE_UUID.\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'network.unbind_port', 'UNKNOWN': 'EVENT_PROPERTY'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2107b3b1-09f4-455d-905e-5712fbe16e72 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"UNKNOWN are invalid keys\", \"debuginfo\": null}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '9e43fdee-03e9-4515-8741-99fa17d8bc8f'} GOT:Response: 204 No Content Openstack-Request-Id: req-6bf874fc-6037-471c-87c1-5ad909160a3d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 POST: /v1/nodes/node-39/vifs {'id': '03672217-be3a-4e23-a431-a3605a96176a'} GOT:Response: 204 No Content Openstack-Request-Id: req-c96b2ff7-d036-4fc3-a940-379207e929cb X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 POST: /v1/nodes/node-39/vifs {'id': '028d9557-68bc-46ab-8119-b75e20096e70'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ba7c47d5-6f6b-49a5-bec7-20a1aff173fd X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"boom\", \"debuginfo\": null}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'bad_id': '27098de2-130b-43b5-9cbc-634c0659f646'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-195e683d-0665-4459-9eb2-cd083f5e9b4f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory keys: id\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/219afa81-57fe-4768-8635-c0fa4e2b89ac GOT:Response: 204 No Content Openstack-Request-Id: req-b5dd3505-73be-4260-8181-68850a98dbb0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 DELETE: /v1/nodes/node-39/vifs/ad09aa41-6b02-4c4d-82f5-7451fdfb4725 GOT:Response: 204 No Content Openstack-Request-Id: req-1a747435-647f-467d-972a-484c2f45102f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/e85dec36-d1bc-4bfe-b5d0-7fc06aad76c7 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-830c5865-58ba-44a1-8da6-8143c04f11dc X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\", \"debuginfo\": null}"} DELETE: /v1/nodes/doesntexist/vifs/15d43ab1-de56-44c7-befc-422414259136 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a990eed9-b8af-4f84-b3d4-b97c61735c9e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node doesntexist could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:{'bios': [{'name': 'virtualization', 'value': 'on', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:26.473377+00:00', 'updated_at': None}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios [0.097633s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_fails_with_bad_version [0.095856s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_if_not_found [0.187241s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_with_bad_version [0.086793s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_args_value_invalid [0.039178s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '1fd5161d-4826-44fa-899f-7c9daf70ca6c'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-ac7421ce-b27a-46df-aa02-92f39a96741d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\", \"debuginfo\": null}"} POST: /v1/nodes/doesntexist/vifs {'id': 'c25b3772-b432-4ac8-abef-6b36d5ee0624'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a9c58233-e16d-4ded-a836-847831866e46 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node doesntexist could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:{'vifs': []} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization {} GOT:{'virtualization': {'name': 'virtualization', 'value': 'on', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:25.343007+00:00', 'updated_at': None}} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-403b1767-04f6-4971-922a-cf21b6426db2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is associated with instance aaaaaaaa-1111-bbbb-2222-cccccccccccc.\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 204 No Content Openstack-Request-Id: req-22b2c9f1-4c34-4b5b-939f-235a106b045a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 DELETE: /v1/nodes/foo.1 GOT:Response: 204 No Content Openstack-Request-Id: req-ef7f2c1c-6189-44b3-8ae5-5a4f66f0aa97 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-88a66de7-15f1-46c1-920e-618bca64d6e2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-660f3c27-2158-41b3-8f32-a27e75619fe5 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\", \"debuginfo\": null}"} DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0b2c2834-7bc6-4517-ba04-1ef9f9181137 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\", \"debuginfo\": null}"} 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-e74980dd-a1f3-46a0-bbbe-e4ffcac785ff X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1d9158db-45df-48c7-b53a-f86c02de7831 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"connector_uuid\\\"\", \"debuginfo\": null}"} 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-afe4aa3a-3ac5-47c0-adf1-2e06a3d4c248 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/nodes?associated=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8b5f5fee-7194-428e-8158-1e2ba88c84e7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"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'\", \"debuginfo\": null}"} GET: /v1/nodes?associated=true {} GOT:{'nodes': [{'uuid': 'e1272b64-be6c-4bf3-88c8-b5bfc81b092c', 'instance_uuid': 'afd23a49-3b9f-4913-a1a3-b99d6fb0340e', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/e1272b64-be6c-4bf3-88c8-b5bfc81b092c', 'rel': 'self'}, {'href': 'http://localhost/nodes/e1272b64-be6c-4bf3-88c8-b5bfc81b092c', 'rel': 'bookmark'}]}, {'uuid': '18e25003-7296-4ed2-b984-a11b75342971', 'instance_uuid': 'da5f560f-db39-43f3-8043-3a1506dc038d', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/18e25003-7296-4ed2-b984-a11b75342971', 'rel': 'self'}, {'href': 'http://localhost/nodes/18e25003-7296-4ed2-b984-a11b75342971', 'rel': 'bookmark'}]}, {'uuid': '2c4cc96a-b5e2-45d2-bc7a-4e6b258febc2', 'instance_uuid': 'f467da43-4760-4d8a-97e4-9e0d6afc7181', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/2c4cc96a-b5e2-45d2-bc7a-4e6b258febc2', 'rel': 'self'}, {'href': 'http://localhost/nodes/2c4cc96a-b5e2-45d2-bc7a-4e6b258febc2', 'rel': 'bookmark'}]}, {'uuid': '0ec5f8d2-0fb6-4dec-ba34-80ceb5695c08', 'instance_uuid': '48f8bc37-15fa-4943-8338-92059891f328', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/0ec5f8d2-0fb6-4dec-ba34-80ceb5695c08', 'rel': 'self'}, {'href': 'http://localhost/nodes/0ec5f8d2-0fb6-4dec-ba34-80ceb5695c08', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=True {} GOT:{'nodes': [{'uuid': 'e1272b64-be6c-4bf3-88c8-b5bfc81b092c', 'instance_uuid': 'afd23a49-3b9f-4913-a1a3-b99d6fb0340e', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/e1272b64-be6c-4bf3-88c8-b5bfc81b092c', 'rel': 'self'}, {'href': 'http://localhost/nodes/e1272b64-be6c-4bf3-88c8-b5bfc81b092c', 'rel': 'bookmark'}]}, {'uuid': '18e25003-7296-4ed2-b984-a11b75342971', 'instance_uuid': 'da5f560f-db39-43f3-8043-3a1506dc038d', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/18e25003-7296-4ed2-b984-a11b75342971', 'rel': 'self'}, {'href': 'http://localhost/nodes/18e25003-7296-4ed2-b984-a11b75342971', 'rel': 'bookmark'}]}, {'uuid': '2c4cc96a-b5e2-45d2-bc7a-4e6b258febc2', 'instance_uuid': 'f467da43-4760-4d8a-97e4-9e0d6afc7181', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/2c4cc96a-b5e2-45d2-bc7a-4e6b258febc2', 'rel': 'self'}, {'href': 'http://localhost/nodes/2c4cc96a-b5e2-45d2-bc7a-4e6b258febc2', 'rel': 'bookmark'}]}, {'uuid': '0ec5f8d2-0fb6-4dec-ba34-80ceb5695c08', 'instance_uuid': '48f8bc37-15fa-4943-8338-92059891f328', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/0ec5f8d2-0fb6-4dec-ba34-80ceb5695c08', 'rel': 'self'}, {'href': 'http://localhost/nodes/0ec5f8d2-0fb6-4dec-ba34-80ceb5695c08', 'rel': 'bookmark'}]}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_min_length_step_value [0.013239s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_insensitive [0.237510s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links [0.262425s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_key [0.023320s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_instance_uuid_param [0.183308s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_not_dict [0.014883s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_unsupported [0.051295s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail [0.102419s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_with_json [0.063197s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_against_single [0.057240s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode [0.059906s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_and_fields [0.059345s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode_by_name [0.056997s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_portgroup_subresource [0.064145s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource [0.064376s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource_no_port_id [0.063179s] ... ok GET: /v1/nodes/?limit=3 {} GOT:{'nodes': [{'uuid': 'e81d1c81-cd26-4f8c-8a5d-9d5baa2b1b9d', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/e81d1c81-cd26-4f8c-8a5d-9d5baa2b1b9d', 'rel': 'self'}, {'href': 'http://localhost/nodes/e81d1c81-cd26-4f8c-8a5d-9d5baa2b1b9d', 'rel': 'bookmark'}]}, {'uuid': 'a6594983-b80a-45d6-887e-39da0cde9832', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/a6594983-b80a-45d6-887e-39da0cde9832', 'rel': 'self'}, {'href': 'http://localhost/nodes/a6594983-b80a-45d6-887e-39da0cde9832', 'rel': 'bookmark'}]}, {'uuid': '90179c09-3a6f-4085-ad4d-df21cba6352f', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/90179c09-3a6f-4085-ad4d-df21cba6352f', 'rel': 'self'}, {'href': 'http://localhost/nodes/90179c09-3a6f-4085-ad4d-df21cba6352f', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=3&marker=90179c09-3a6f-4085-ad4d-df21cba6352f'} GET: /v1/nodes?instance_uuid=01935570-f9a4-4f27-97f2-3e37b134b422 {} GOT:{'nodes': [{'uuid': '019ce1b2-53ae-4954-baf1-98786888f3ee', 'instance_uuid': '01935570-f9a4-4f27-97f2-3e37b134b422', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/019ce1b2-53ae-4954-baf1-98786888f3ee', 'rel': 'self'}, {'href': 'http://localhost/nodes/019ce1b2-53ae-4954-baf1-98786888f3ee', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'owner': None, 'description': None, 'allocation_uuid': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:27.027380+00:00'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a3ce6d5a-ca13-4301-a0fd-9ecde2512a8b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes?detail=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a6451224-65df-4bc4-bbe5-66449eed3951 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} GET: /v1/nodes/detail?associated=true {} GOT:{'nodes': [{'uuid': 'f33da497-ddf2-4479-bd4f-12b2e1353b89', 'instance_uuid': 'cf231fc6-fd52-4ff0-8ed5-7461c8263cda', 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/f33da497-ddf2-4479-bd4f-12b2e1353b89', 'rel': 'self'}, {'href': 'http://localhost/nodes/f33da497-ddf2-4479-bd4f-12b2e1353b89', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/f33da497-ddf2-4479-bd4f-12b2e1353b89/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/f33da497-ddf2-4479-bd4f-12b2e1353b89/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:27.270596+00:00'}, {'uuid': '92c5e3ec-ebfa-483b-b817-528f2e28cad8', 'instance_uuid': 'e2f3197a-b289-42a5-9b0c-758c8ff6c7f0', 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/92c5e3ec-ebfa-483b-b817-528f2e28cad8', 'rel': 'self'}, {'href': 'http://localhost/nodes/92c5e3ec-ebfa-483b-b817-528f2e28cad8', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/92c5e3ec-ebfa-483b-b817-528f2e28cad8/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/92c5e3ec-ebfa-483b-b817-528f2e28cad8/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:27.276822+00:00'}, {'uuid': '51df9826-3325-4ba2-817f-d4291af20153', 'instance_uuid': '6fcd0e25-1a26-4fa7-8aba-b93f94f62996', 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/51df9826-3325-4ba2-817f-d4291af20153', 'rel': 'self'}, {'href': 'http://localhost/nodes/51df9826-3325-4ba2-817f-d4291af20153', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/51df9826-3325-4ba2-817f-d4291af20153/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/51df9826-3325-4ba2-817f-d4291af20153/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:27.283105+00:00'}, {'uuid': '294f0e5b-85ed-4b06-a7fb-e92e0aa67e78', 'instance_uuid': 'ba8de59d-4113-4ad1-9a5d-fede525a7903', 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/294f0e5b-85ed-4b06-a7fb-e92e0aa67e78', 'rel': 'self'}, {'href': 'http://localhost/nodes/294f0e5b-85ed-4b06-a7fb-e92e0aa67e78', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/294f0e5b-85ed-4b06-a7fb-e92e0aa67e78/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/294f0e5b-85ed-4b06-a7fb-e92e0aa67e78/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:27.289360+00:00'}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_association_filter [0.161544s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_empty [0.147468s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_custom_fields [0.169560s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device [0.111811s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_iface_not_supported [0.075820s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_default_limit [0.135632s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_pagination_no_uuid [0.116181s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_query_false [0.163266s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field [0.076916s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field_invalid_api_version [0.057232s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields_invalid_api_version [0.057798s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information [0.106707s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_not_supported [0.115478s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/fake_setting {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3afe5dee-112f-4f1a-b9ac-6988acf39cef X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 doesn't have a BIOS setting 'fake_setting'\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/virtualization {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-830e7554-a469-4c02-b587-31a0090f3ed1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node foo could not be found.\", \"debuginfo\": null}"} DELETE: /v1/nodes/foo.json GOT:Response: 204 No Content Openstack-Request-Id: req-dcac4ee5-627b-4939-8d4f-a8b020e0821f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-8293fecb-1150-4e71-83e1-c01d10257cad X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 DELETE: /v1/nodes/foo/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-d8fc5184-295e-46af-9592-767833c9238a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 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-2d66030b-a1d3-455e-ad2d-74e5984eb3d2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} 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-24061e1b-3c7c-44a7-8990-206c4dde260c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-523c8593-c8f6-489a-8639-ae9e28a4bd37 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"port_uuid\\\"\", \"debuginfo\": null}"} GET: /v1/nodes?fields=driver_info,uuid {} GOT:{'nodes': [{'uuid': 'ac244d37-f0eb-4ea9-afe1-6d79617f2a6f', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/ac244d37-f0eb-4ea9-afe1-6d79617f2a6f', 'rel': 'self'}, {'href': 'http://localhost/nodes/ac244d37-f0eb-4ea9-afe1-6d79617f2a6f', 'rel': 'bookmark'}]}, {'uuid': '0e1b3f1c-1143-4280-a2e1-4697f6d06f4d', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/0e1b3f1c-1143-4280-a2e1-4697f6d06f4d', 'rel': 'self'}, {'href': 'http://localhost/nodes/0e1b3f1c-1143-4280-a2e1-4697f6d06f4d', 'rel': 'bookmark'}]}, {'uuid': '11b10fc9-ce16-413a-b77c-b5ee9144576a', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/11b10fc9-ce16-413a-b77c-b5ee9144576a', 'rel': 'self'}, {'href': 'http://localhost/nodes/11b10fc9-ce16-413a-b77c-b5ee9144576a', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=driver_info,uuid&limit=3&marker=11b10fc9-ce16-413a-b77c-b5ee9144576a'} GET: /v1/nodes {} GOT:{'nodes': [{'uuid': 'b9694e12-31b0-4c90-91ff-d3d5b9227adf', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/b9694e12-31b0-4c90-91ff-d3d5b9227adf', 'rel': 'self'}, {'href': 'http://localhost/nodes/b9694e12-31b0-4c90-91ff-d3d5b9227adf', 'rel': 'bookmark'}]}, {'uuid': '146186ec-f14c-4e52-8adf-c4a33b045235', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/146186ec-f14c-4e52-8adf-c4a33b045235', 'rel': 'self'}, {'href': 'http://localhost/nodes/146186ec-f14c-4e52-8adf-c4a33b045235', 'rel': 'bookmark'}]}, {'uuid': '01718828-4088-47a7-9518-265bb97e8c4e', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/01718828-4088-47a7-9518-265bb97e8c4e', 'rel': 'self'}, {'href': 'http://localhost/nodes/01718828-4088-47a7-9518-265bb97e8c4e', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=3&marker=01718828-4088-47a7-9518-265bb97e8c4e'} GET: /v1/nodes {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} GET: /v1/nodes?detail=False {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?sort_key=resource_class {} GOT:{'nodes': [{'uuid': 'b877f9a5-b84c-49db-8fcd-b691a0fbf448', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': 'rc_1', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/b877f9a5-b84c-49db-8fcd-b691a0fbf448', 'rel': 'self'}, {'href': 'http://localhost/nodes/b877f9a5-b84c-49db-8fcd-b691a0fbf448', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/b877f9a5-b84c-49db-8fcd-b691a0fbf448/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/b877f9a5-b84c-49db-8fcd-b691a0fbf448/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/b877f9a5-b84c-49db-8fcd-b691a0fbf448/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/b877f9a5-b84c-49db-8fcd-b691a0fbf448/states', 'rel': 'bookmark'}], 'network_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:27.949493+00:00'}, {'uuid': '02a4179f-5a98-4ac4-a114-1271f87f69d6', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': 'rc_2', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/02a4179f-5a98-4ac4-a114-1271f87f69d6', 'rel': 'self'}, {'href': 'http://localhost/nodes/02a4179f-5a98-4ac4-a114-1271f87f69d6', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/02a4179f-5a98-4ac4-a114-1271f87f69d6/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/02a4179f-5a98-4ac4-a114-1271f87f69d6/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/02a4179f-5a98-4ac4-a114-1271f87f69d6/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/02a4179f-5a98-4ac4-a114-1271f87f69d6/states', 'rel': 'bookmark'}], 'network_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:27.943242+00:00'}, {'uuid': 'a7e251bb-a76f-466b-b876-106b72ff823c', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': 'rc_3', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/a7e251bb-a76f-466b-b876-106b72ff823c', 'rel': 'self'}, {'href': 'http://localhost/nodes/a7e251bb-a76f-466b-b876-106b72ff823c', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/a7e251bb-a76f-466b-b876-106b72ff823c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a7e251bb-a76f-466b-b876-106b72ff823c/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/a7e251bb-a76f-466b-b876-106b72ff823c/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/a7e251bb-a76f-466b-b876-106b72ff823c/states', 'rel': 'bookmark'}], 'network_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:27.936581+00:00'}]}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_allowed [0.126744s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_not_allowed [0.049849s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query [0.128691s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_false_and_fields [0.141158s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_fields [0.095938s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_old_version [0.059206s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_description_field [0.072497s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_instance_uuid [0.073124s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields [0.074352s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields [0.074630s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields_invalid_api_version [0.057429s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields_invalid_api_version [0.058137s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_automated_clean_fields [0.074621s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_by_name [0.076812s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor [0.239830s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group_not_allowed [0.071228s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_custom_fields [0.122904s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields [0.076804s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_by_name [0.077825s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_no_valid_host [0.213605s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_console_disabled [0.077516s] ... ok GET: /v1/nodes/detail?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1aaa41cc-ba6c-4099-83e2-94369e70d129 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes?detail=True {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'owner': None, 'description': None, 'allocation_uuid': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:28.119225+00:00'}]} GET: /v1/nodes?detail=False&fields=name {} GOT:{'nodes': [{'name': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} GET: /v1/nodes?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0858698c-e95a-4cb2-b127-f67915227b9b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} GET: /v1/nodes/detail?instance_uuid=3e2e802b-718a-45f6-ba27-c5ba6d3f78ba {} GOT:{'nodes': [{'uuid': '37a65bf5-74ff-4464-9241-14586722317e', 'instance_uuid': '3e2e802b-718a-45f6-ba27-c5ba6d3f78ba', 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/37a65bf5-74ff-4464-9241-14586722317e', 'rel': 'self'}, {'href': 'http://localhost/nodes/37a65bf5-74ff-4464-9241-14586722317e', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/37a65bf5-74ff-4464-9241-14586722317e/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/37a65bf5-74ff-4464-9241-14586722317e/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:28.444199+00:00'}]} 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:{'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'power_interface': None, 'raid_interface': None, 'vendor_interface': None} 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-007cd7ff-c8b8-496e-8092-9ce7004392b6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=automated_clean {} GOT:{'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'automated_clean': True} GET: /v1/nodes/spam/management/boot_device {} GOT:{'boot_device': 'pxe', 'persistent': True} GET: /v1/nodes?fields=uuid,instance_info {} GOT:{'nodes': [{'uuid': 'b4962c8b-b1f6-4edc-82b2-6ed55c1eacdb', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/b4962c8b-b1f6-4edc-82b2-6ed55c1eacdb', 'rel': 'self'}, {'href': 'http://localhost/nodes/b4962c8b-b1f6-4edc-82b2-6ed55c1eacdb', 'rel': 'bookmark'}]}, {'uuid': '7d187a8c-f8cd-49d9-bdff-f23329364fa6', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/7d187a8c-f8cd-49d9-bdff-f23329364fa6', 'rel': 'self'}, {'href': 'http://localhost/nodes/7d187a8c-f8cd-49d9-bdff-f23329364fa6', 'rel': 'bookmark'}]}, {'uuid': 'dde94f88-763d-484c-8799-e361cadf4bdc', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/dde94f88-763d-484c-8799-e361cadf4bdc', 'rel': 'self'}, {'href': 'http://localhost/nodes/dde94f88-763d-484c-8799-e361cadf4bdc', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor_group {} GOT:{'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor_group': ''} GET: /v1/nodes/spam/states/console {} GOT:{'console_enabled': True, 'console_info': {'test': 'test-data'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:{'console_enabled': False, 'console_info': None} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b49a245b-9c5b-435d-b4b6-5e27a2097d5f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_api_version [0.068359s] ... ok GET: /v1/nodes {} GOT:{'nodes': []} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:{'boot_device': 'pxe', 'persistent': True} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d74345d3-544e-42e3-91dd-bc7960bcb6ea X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} GET: /v1/nodes?fields=name&limit=2 {} GOT:{'nodes': [{'name': None, 'links': [{'href': 'http://localhost/v1/nodes/7db387ec-6ef6-435a-ab36-bda666c19507', 'rel': 'self'}, {'href': 'http://localhost/nodes/7db387ec-6ef6-435a-ab36-bda666c19507', 'rel': 'bookmark'}]}, {'name': None, 'links': [{'href': 'http://localhost/v1/nodes/aae77a11-c0b3-4726-ba23-73df3c99b577', 'rel': 'self'}, {'href': 'http://localhost/nodes/aae77a11-c0b3-4726-ba23-73df3c99b577', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=aae77a11-c0b3-4726-ba23-73df3c99b577'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor {} GOT:{'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'conductor': 'fake.conductor'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9e7cccb2-a550-4f53-80c2-77a2f3245af6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=conductor_group {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0ff13bb5-699f-4f75-85b6-b7644e78c7ad X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:{'console_enabled': True, 'console_info': {'test': 'test-data'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a5ff3bbd-12a4-4a4b-9b0b-0549b752adcf X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a510f3d0-5d7f-45a5-a298-5ef2f75fffe4 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=description {} GOT:{'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'description': 'useful piece'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface {} GOT:{'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'network_interface': None} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7934d4a5-415e-40d4-9399-fd24a05303a1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes?conductor=rocky.rocks {} GOT:{'nodes': []} GET: /v1/nodes?conductor=fake.conductor {} GOT:{'nodes': [{'uuid': 'da52988f-e444-47ae-9c17-47912d3533ed', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/da52988f-e444-47ae-9c17-47912d3533ed', 'rel': 'self'}, {'href': 'http://localhost/nodes/da52988f-e444-47ae-9c17-47912d3533ed', 'rel': 'bookmark'}]}, {'uuid': 'eabccf44-fb0c-4158-b87b-e08a6e4a36ba', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/eabccf44-fb0c-4158-b87b-e08a6e4a36ba', 'rel': 'self'}, {'href': 'http://localhost/nodes/eabccf44-fb0c-4158-b87b-e08a6e4a36ba', 'rel': 'bookmark'}]}]} GET: /v1/nodes?conductor=fake.conductor {} GOT:{'nodes': [{'uuid': 'eabccf44-fb0c-4158-b87b-e08a6e4a36ba', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/eabccf44-fb0c-4158-b87b-e08a6e4a36ba', 'rel': 'self'}, {'href': 'http://localhost/nodes/eabccf44-fb0c-4158-b87b-e08a6e4a36ba', 'rel': 'bookmark'}]}]} GET: /v1/nodes?conductor_group=group1 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c8b31bd2-7a5d-490f-91d5-1ef6bd755390 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.46\", \"debuginfo\": null}"} GET: /v1/nodes/detail?conductor_group=group1 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d1aaa43c-1bc7-4e4a-b109-0d72aab6a04e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.46\", \"debuginfo\": null}"} GET: /v1/nodes?conductor=like.shadows {} GOT:{'nodes': []} GET: /v1/nodes?conductor=like.shadows {} GOT:{'nodes': []} GET: /v1/nodes?conductor=fake.conductor {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-0e95f96d-ceff-4c4c-8024-670b69ccd025 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Some unexpected thing happened\", \"debuginfo\": null}"} GET: /v1/nodes?fault=power failure {} GOT:{'nodes': [{'uuid': 'f3661c98-f0b5-47db-aec5-59e1dfb175e3', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/f3661c98-f0b5-47db-aec5-59e1dfb175e3', 'rel': 'self'}, {'href': 'http://localhost/nodes/f3661c98-f0b5-47db-aec5-59e1dfb175e3', 'rel': 'bookmark'}]}]} GET: /v1/nodes?fault=clean failure {} GOT:{'nodes': [{'uuid': '3fab7de3-2079-4b6d-b6f9-2bb80eb132d5', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/3fab7de3-2079-4b6d-b6f9-2bb80eb132d5', 'rel': 'self'}, {'href': 'http://localhost/nodes/3fab7de3-2079-4b6d-b6f9-2bb80eb132d5', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?fault=power failure {} GOT:{'nodes': [{'uuid': 'f3661c98-f0b5-47db-aec5-59e1dfb175e3', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': 'power failure', 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/f3661c98-f0b5-47db-aec5-59e1dfb175e3', 'rel': 'self'}, {'href': 'http://localhost/nodes/f3661c98-f0b5-47db-aec5-59e1dfb175e3', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/f3661c98-f0b5-47db-aec5-59e1dfb175e3/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/f3661c98-f0b5-47db-aec5-59e1dfb175e3/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/f3661c98-f0b5-47db-aec5-59e1dfb175e3/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/f3661c98-f0b5-47db-aec5-59e1dfb175e3/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/f3661c98-f0b5-47db-aec5-59e1dfb175e3/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/f3661c98-f0b5-47db-aec5-59e1dfb175e3/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/f3661c98-f0b5-47db-aec5-59e1dfb175e3/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/f3661c98-f0b5-47db-aec5-59e1dfb175e3/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:29.127821+00:00'}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault [0.408641s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_not_allowed [0.096591s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group [0.419711s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_not_allowed [0.050735s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_driver [0.089924s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class [0.084869s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_description [0.170464s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver [0.164411s] ... ok GET: /v1/nodes?conductor_group=group1 {} GOT:{'nodes': [{'uuid': '8618c655-8224-42b4-b7c4-c0fb21102bed', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/8618c655-8224-42b4-b7c4-c0fb21102bed', 'rel': 'self'}, {'href': 'http://localhost/nodes/8618c655-8224-42b4-b7c4-c0fb21102bed', 'rel': 'bookmark'}]}]} GET: /v1/nodes?conductor_group=group2 {} GOT:{'nodes': [{'uuid': '33b77d1a-3623-48de-8165-4a7d83e3fd84', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/33b77d1a-3623-48de-8165-4a7d83e3fd84', 'rel': 'self'}, {'href': 'http://localhost/nodes/33b77d1a-3623-48de-8165-4a7d83e3fd84', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?conductor_group=group1 {} GOT:{'nodes': [{'uuid': '8618c655-8224-42b4-b7c4-c0fb21102bed', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/8618c655-8224-42b4-b7c4-c0fb21102bed', 'rel': 'self'}, {'href': 'http://localhost/nodes/8618c655-8224-42b4-b7c4-c0fb21102bed', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/8618c655-8224-42b4-b7c4-c0fb21102bed/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/8618c655-8224-42b4-b7c4-c0fb21102bed/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/8618c655-8224-42b4-b7c4-c0fb21102bed/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/8618c655-8224-42b4-b7c4-c0fb21102bed/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/8618c655-8224-42b4-b7c4-c0fb21102bed/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/8618c655-8224-42b4-b7c4-c0fb21102bed/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/8618c655-8224-42b4-b7c4-c0fb21102bed/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/8618c655-8224-42b4-b7c4-c0fb21102bed/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': 'group1', 'updated_at': None, 'created_at': '2020-05-04T22:34:29.251768+00:00'}]} GET: /v1/nodes/detail?conductor_group=group2 {} GOT:{'nodes': [{'uuid': '33b77d1a-3623-48de-8165-4a7d83e3fd84', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/33b77d1a-3623-48de-8165-4a7d83e3fd84', 'rel': 'self'}, {'href': 'http://localhost/nodes/33b77d1a-3623-48de-8165-4a7d83e3fd84', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/33b77d1a-3623-48de-8165-4a7d83e3fd84/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/33b77d1a-3623-48de-8165-4a7d83e3fd84/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/33b77d1a-3623-48de-8165-4a7d83e3fd84/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/33b77d1a-3623-48de-8165-4a7d83e3fd84/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/33b77d1a-3623-48de-8165-4a7d83e3fd84/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/33b77d1a-3623-48de-8165-4a7d83e3fd84/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/33b77d1a-3623-48de-8165-4a7d83e3fd84/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/33b77d1a-3623-48de-8165-4a7d83e3fd84/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': 'group2', 'updated_at': None, 'created_at': '2020-05-04T22:34:29.265601+00:00'}]} GET: /v1/nodes?conductor=rocky.rocks {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f4410f1e-2c93-48bb-bf6e-87376f8200e6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.49\", \"debuginfo\": null}"} GET: /v1/nodes?description_contains=cat {} GOT:{'nodes': [{'uuid': 'aa82d0b4-9c56-49e8-925b-4a6fa8382d0f', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/aa82d0b4-9c56-49e8-925b-4a6fa8382d0f', 'rel': 'self'}, {'href': 'http://localhost/nodes/aa82d0b4-9c56-49e8-925b-4a6fa8382d0f', 'rel': 'bookmark'}]}]} GET: /v1/nodes?description_contains=dog {} GOT:{'nodes': [{'uuid': 'cd0e6f34-69f2-451c-b8cb-052631afd9dc', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/cd0e6f34-69f2-451c-b8cb-052631afd9dc', 'rel': 'self'}, {'href': 'http://localhost/nodes/cd0e6f34-69f2-451c-b8cb-052631afd9dc', 'rel': 'bookmark'}]}]} GET: /v1/nodes?driver=ipmi {} GOT:{'nodes': [{'uuid': 'e2cb39ec-b5ef-4a29-9025-d34a151c23d6', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/e2cb39ec-b5ef-4a29-9025-d34a151c23d6', 'rel': 'self'}, {'href': 'http://localhost/nodes/e2cb39ec-b5ef-4a29-9025-d34a151c23d6', 'rel': 'bookmark'}]}]} GET: /v1/nodes?driver=fake-hardware {} GOT:{'nodes': [{'uuid': 'de51603d-7b4e-4336-915f-e397e2986d0d', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/de51603d-7b4e-4336-915f-e397e2986d0d', 'rel': 'self'}, {'href': 'http://localhost/nodes/de51603d-7b4e-4336-915f-e397e2986d0d', 'rel': 'bookmark'}]}]} GET: /v1/nodes?driver=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d2ba1def-90ff-4187-95d4-f9980b3780b8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.16\", \"debuginfo\": null}"} {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver_invalid_api_version [0.057625s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_with_invalid_fault [0.137777s] ... ok GET: /v1/nodes/detail?fault=clean failure {} GOT:{'nodes': [{'uuid': '3fab7de3-2079-4b6d-b6f9-2bb80eb132d5', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': 'clean failure', 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/3fab7de3-2079-4b6d-b6f9-2bb80eb132d5', 'rel': 'self'}, {'href': 'http://localhost/nodes/3fab7de3-2079-4b6d-b6f9-2bb80eb132d5', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/3fab7de3-2079-4b6d-b6f9-2bb80eb132d5/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3fab7de3-2079-4b6d-b6f9-2bb80eb132d5/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3fab7de3-2079-4b6d-b6f9-2bb80eb132d5/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3fab7de3-2079-4b6d-b6f9-2bb80eb132d5/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3fab7de3-2079-4b6d-b6f9-2bb80eb132d5/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3fab7de3-2079-4b6d-b6f9-2bb80eb132d5/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3fab7de3-2079-4b6d-b6f9-2bb80eb132d5/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3fab7de3-2079-4b6d-b6f9-2bb80eb132d5/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:29.134366+00:00'}]} GET: /v1/nodes?fault=power failure {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f6ec09ca-a14c-4c90-93d1-76ae0092b1b9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.41 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.42\", \"debuginfo\": null}"} GET: /v1/nodes/detail?fault=power failure {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6054a76f-edd2-4931-8521-8c1815f67851 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.41 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.42\", \"debuginfo\": null}"} GET: /v1/nodes?driver=test {} GOT:{'nodes': []} GET: /v1/nodes?resource_class=test {} GOT:{'nodes': []} GET: /v1/nodes?owner=fred {} GOT:{'nodes': [{'uuid': '07d996c0-9d6d-46d5-b22b-f165b3f841e1', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/07d996c0-9d6d-46d5-b22b-f165b3f841e1', 'rel': 'self'}, {'href': 'http://localhost/nodes/07d996c0-9d6d-46d5-b22b-f165b3f841e1', 'rel': 'bookmark'}]}]} GET: /v1/nodes?owner=bob {} GOT:{'nodes': [{'uuid': '20d8f46f-1977-48d6-8351-9454bcec629f', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/20d8f46f-1977-48d6-8351-9454bcec629f', 'rel': 'self'}, {'href': 'http://localhost/nodes/20d8f46f-1977-48d6-8351-9454bcec629f', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?owner=fred {} GOT:{'nodes': [{'uuid': '07d996c0-9d6d-46d5-b22b-f165b3f841e1', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/07d996c0-9d6d-46d5-b22b-f165b3f841e1', 'rel': 'self'}, {'href': 'http://localhost/nodes/07d996c0-9d6d-46d5-b22b-f165b3f841e1', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/07d996c0-9d6d-46d5-b22b-f165b3f841e1/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/07d996c0-9d6d-46d5-b22b-f165b3f841e1/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/07d996c0-9d6d-46d5-b22b-f165b3f841e1/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/07d996c0-9d6d-46d5-b22b-f165b3f841e1/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/07d996c0-9d6d-46d5-b22b-f165b3f841e1/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/07d996c0-9d6d-46d5-b22b-f165b3f841e1/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/07d996c0-9d6d-46d5-b22b-f165b3f841e1/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/07d996c0-9d6d-46d5-b22b-f165b3f841e1/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'owner': 'fred', 'updated_at': None, 'created_at': '2020-05-04T22:34:29.809524+00:00'}]} GET: /v1/nodes/detail?owner=bob {} GOT:{'nodes': [{'uuid': '20d8f46f-1977-48d6-8351-9454bcec629f', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/20d8f46f-1977-48d6-8351-9454bcec629f', 'rel': 'self'}, {'href': 'http://localhost/nodes/20d8f46f-1977-48d6-8351-9454bcec629f', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/20d8f46f-1977-48d6-8351-9454bcec629f/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/20d8f46f-1977-48d6-8351-9454bcec629f/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/20d8f46f-1977-48d6-8351-9454bcec629f/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/20d8f46f-1977-48d6-8351-9454bcec629f/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/20d8f46f-1977-48d6-8351-9454bcec629f/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/20d8f46f-1977-48d6-8351-9454bcec629f/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/20d8f46f-1977-48d6-8351-9454bcec629f/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/20d8f46f-1977-48d6-8351-9454bcec629f/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'owner': 'bob', 'updated_at': None, 'created_at': '2020-05-04T22:34:29.816209+00:00'}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner [0.288721s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state_not_allowed [0.111554s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version [0.099298s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed [0.101866s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_provision_state [0.090946s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class_detail [0.164177s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields [0.110703s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner_not_allowed [0.069760s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json_in_name [0.081937s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices [0.075655s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state [0.168986s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_iface_not_supported [0.074284s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_with_allocation [0.076700s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class [0.168476s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_clean_step [0.108694s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_detail [0.164449s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version_detail [0.079118s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed_detail [0.049923s] ... ok GET: /v1/nodes?provision_state=test {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9c195dea-f54d-401e-b6ea-0aabe805c2aa X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.8 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-96d6e970-c8b7-4385-a346-765f50c13bfa X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.21\", \"debuginfo\": null}"} GET: /v1/nodes?traits=CUSTOM_TRAIT_1 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b50456b8-8ef9-4ab2-a30f-b5da4da6bb0a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"traits\\\"\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=extra,instance_info {} GOT:{'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'extra': {}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes/node.json {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': 'node.json', 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'owner': None, 'description': None, 'allocation_uuid': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:30.524873+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device/supported {} GOT:{'supported_boot_devices': ['pxe']} 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-5804a5bb-0d4d-4325-9d2e-6dac492f41fb X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=allocation_uuid {} GOT:{'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'allocation_uuid': 'dc05cfbb-4c9c-41ae-83e6-316017aec5d5'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:30.840792+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {'foo': 'bar'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:30.840792+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'owner': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:30.950612+00:00'}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_description [0.140892s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_driver_internal [0.163530s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_inspection [0.137759s] ... ok GET: /v1/nodes?fault=somefake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2c7a76fa-b4e4-4375-bf78-bc74be563a5a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unrecognized fault \\\"somefake\\\" is specified, allowed faults are ('power failure', 'clean failure', 'rescue abort failure')\", \"debuginfo\": null}"} GET: /v1/nodes/detail?fault=somefake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a9c8f540-655b-41c1-8b56-371aff21692f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unrecognized fault \\\"somefake\\\" is specified, allowed faults are ('power failure', 'clean failure', 'rescue abort failure')\", \"debuginfo\": null}"} GET: /v1/nodes?provision_state=test {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-df7e7437-8c26-4ca6-adbb-3222bc6fdd16 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.9 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Provision state \\\"test\\\" is not valid\", \"debuginfo\": null}"} GET: /v1/nodes/detail?resource_class=test {} GOT:{'nodes': []} GET: /v1/nodes?owner=fred {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-91776cd1-4e76-4bad-b446-15fc0be83838 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.50\", \"debuginfo\": null}"} GET: /v1/nodes/detail?owner=fred {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d35806e0-4331-4cf5-b742-b66fe78531aa X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.50\", \"debuginfo\": null}"} GET: /v1/nodes?provision_state=available {} GOT:{'nodes': [{'uuid': '08cf25dc-da42-4986-bc5f-5c09a0079d95', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/08cf25dc-da42-4986-bc5f-5c09a0079d95', 'rel': 'self'}, {'href': 'http://localhost/nodes/08cf25dc-da42-4986-bc5f-5c09a0079d95', 'rel': 'bookmark'}]}]} GET: /v1/nodes?provision_state=deploying {} GOT:{'nodes': [{'uuid': '39c49d34-cb5b-4719-a583-1619d3eec5db', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'deploying', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/39c49d34-cb5b-4719-a583-1619d3eec5db', 'rel': 'self'}, {'href': 'http://localhost/nodes/39c49d34-cb5b-4719-a583-1619d3eec5db', 'rel': 'bookmark'}]}]} GET: /v1/nodes?resource_class=foo {} GOT:{'nodes': [{'uuid': '4965e486-4803-433b-b938-603d3eca9eff', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/4965e486-4803-433b-b938-603d3eca9eff', 'rel': 'self'}, {'href': 'http://localhost/nodes/4965e486-4803-433b-b938-603d3eca9eff', 'rel': 'bookmark'}]}]} GET: /v1/nodes?resource_class=bar {} GOT:{'nodes': [{'uuid': '9a224923-bad4-46e0-bd43-0d6d033b35f0', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/9a224923-bad4-46e0-bd43-0d6d033b35f0', 'rel': 'self'}, {'href': 'http://localhost/nodes/9a224923-bad4-46e0-bd43-0d6d033b35f0', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?resource_class=foo {} GOT:{'nodes': [{'uuid': '52c7eca3-d473-42a7-8956-3526809b6f92', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': 'foo', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/52c7eca3-d473-42a7-8956-3526809b6f92', 'rel': 'self'}, {'href': 'http://localhost/nodes/52c7eca3-d473-42a7-8956-3526809b6f92', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/52c7eca3-d473-42a7-8956-3526809b6f92/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/52c7eca3-d473-42a7-8956-3526809b6f92/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/52c7eca3-d473-42a7-8956-3526809b6f92/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/52c7eca3-d473-42a7-8956-3526809b6f92/states', 'rel': 'bookmark'}], 'network_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:30.901283+00:00'}]} GET: /v1/nodes/detail?resource_class=bar {} GOT:{'nodes': [{'uuid': '16accecf-7ff3-4a9e-9002-6ecb6611b56a', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': 'bar', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/16accecf-7ff3-4a9e-9002-6ecb6611b56a', 'rel': 'self'}, {'href': 'http://localhost/nodes/16accecf-7ff3-4a9e-9002-6ecb6611b56a', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/16accecf-7ff3-4a9e-9002-6ecb6611b56a/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/16accecf-7ff3-4a9e-9002-6ecb6611b56a/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/16accecf-7ff3-4a9e-9002-6ecb6611b56a/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/16accecf-7ff3-4a9e-9002-6ecb6611b56a/states', 'rel': 'bookmark'}], 'network_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:30.907922+00:00'}]} GET: /v1/nodes/detail?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-841b9112-5d82-4e53-9aac-a1c02c43442c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.21\", \"debuginfo\": null}"} GET: /v1/nodes/detail?traits=CUSTOM_TRAIT_1 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7cf3c67b-57df-4868-9a4d-29cd90b5700b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"traits\\\"\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one [0.145916s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields_show_password [0.087070s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_double_json [0.104685s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json [0.075693s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'owner': None, 'description': 'useful piece', 'updated_at': None, 'created_at': '2020-05-04T22:34:30.950612+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:31.092100+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'foo': 'bar'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:31.092100+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:31.256449+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': '2015-03-18T19:20:00+00:00', 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:31.256449+00:00'} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'network_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:31.401809+00:00'}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_resource_class [0.232684s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_storage_interface [0.174358s] ... ok GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'owner': None, 'description': None, 'allocation_uuid': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:31.218966+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=driver_info {} GOT:{'driver_info': {'fake_password': '******'}, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]} GET: /v1/nodes/node.json.json {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': 'node.json', 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'owner': None, 'description': None, 'allocation_uuid': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:31.457361+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'owner': None, 'description': None, 'allocation_uuid': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:31.538117+00:00'} GET: /v1/nodes/test.1 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': 'test.1', 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'owner': None, 'description': None, 'allocation_uuid': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:31.615821+00:00'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_suffix [0.118264s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_owner_fields [0.139319s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_protected_fields [0.075280s] ... ok GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': 'foo', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'network_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:31.401809+00:00'}]} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'vendor_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:31.634510+00:00'}]} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'storage_interface': 'cinder', 'vendor_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:31.634510+00:00'}]} GET: /v1/nodes/f43f7785-39b9-43bd-a275-f189faac04d5 {} GOT:{'uuid': 'f43f7785-39b9-43bd-a275-f189faac04d5', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/f43f7785-39b9-43bd-a275-f189faac04d5', 'rel': 'self'}, {'href': 'http://localhost/nodes/f43f7785-39b9-43bd-a275-f189faac04d5', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/f43f7785-39b9-43bd-a275-f189faac04d5/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/f43f7785-39b9-43bd-a275-f189faac04d5/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:31.804776+00:00'} GET: /v1/nodes/f43f7785-39b9-43bd-a275-f189faac04d5 {} GOT:{'uuid': 'f43f7785-39b9-43bd-a275-f189faac04d5', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/f43f7785-39b9-43bd-a275-f189faac04d5', 'rel': 'self'}, {'href': 'http://localhost/nodes/f43f7785-39b9-43bd-a275-f189faac04d5', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/f43f7785-39b9-43bd-a275-f189faac04d5/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/f43f7785-39b9-43bd-a275-f189faac04d5/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:31.804776+00:00'}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links [0.223541s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields [0.136567s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields_invalid_api_version [0.056190s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links_public_url [0.161702s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_by_name [0.073398s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields [0.077478s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields_invalid_api_version [0.058043s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes [0.200883s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_interface_fields [0.157168s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=owner {} GOT:{'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'owner': 'fred'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=protected {} GOT:{'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'protected': True} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface {} GOT:{'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'storage_interface': None} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c9e7bbf6-5d03-49c1-b117-a5a6d2323e1c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/spam/management/boot_device/supported {} GOT:{'supported_boot_devices': ['pxe']} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=traits {} GOT:{'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}], 'traits': []} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=traits {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-41f8a56a-b241-4c38-a689-43a58d40e2ba X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], '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'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'network_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:32.358369+00:00'}]} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], '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'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'vendor_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:32.358369+00:00'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:32.517187+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': 'fish', 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:32.517187+00:00'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_name [0.110435s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_network_interface [0.218813s] ... ok GET: /nodes/f43f7785-39b9-43bd-a275-f189faac04d5 {} GOT:{'uuid': 'f43f7785-39b9-43bd-a275-f189faac04d5', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/f43f7785-39b9-43bd-a275-f189faac04d5', 'rel': 'self'}, {'href': 'http://localhost/nodes/f43f7785-39b9-43bd-a275-f189faac04d5', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/f43f7785-39b9-43bd-a275-f189faac04d5/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/f43f7785-39b9-43bd-a275-f189faac04d5/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:31.804776+00:00'} GET: /v1/nodes/24f58c16-a61d-4de8-848f-037e9eb1a929 {} GOT:{'uuid': '24f58c16-a61d-4de8-848f-037e9eb1a929', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://foo/v1/nodes/24f58c16-a61d-4de8-848f-037e9eb1a929', 'rel': 'self'}, {'href': 'http://foo/nodes/24f58c16-a61d-4de8-848f-037e9eb1a929', 'rel': 'bookmark'}], 'ports': [{'href': 'http://foo/v1/nodes/24f58c16-a61d-4de8-848f-037e9eb1a929/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/24f58c16-a61d-4de8-848f-037e9eb1a929/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:32.056380+00:00'} GET: /v1/nodes/24f58c16-a61d-4de8-848f-037e9eb1a929 {} GOT:{'uuid': '24f58c16-a61d-4de8-848f-037e9eb1a929', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://foo/v1/nodes/24f58c16-a61d-4de8-848f-037e9eb1a929', 'rel': 'self'}, {'href': 'http://foo/nodes/24f58c16-a61d-4de8-848f-037e9eb1a929', 'rel': 'bookmark'}], 'ports': [{'href': 'http://foo/v1/nodes/24f58c16-a61d-4de8-848f-037e9eb1a929/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/24f58c16-a61d-4de8-848f-037e9eb1a929/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:32.056380+00:00'} GET: /nodes/24f58c16-a61d-4de8-848f-037e9eb1a929 {} GOT:{'uuid': '24f58c16-a61d-4de8-848f-037e9eb1a929', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://foo/v1/nodes/24f58c16-a61d-4de8-848f-037e9eb1a929', 'rel': 'self'}, {'href': 'http://foo/nodes/24f58c16-a61d-4de8-848f-037e9eb1a929', 'rel': 'bookmark'}], 'ports': [{'href': 'http://foo/v1/nodes/24f58c16-a61d-4de8-848f-037e9eb1a929/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/24f58c16-a61d-4de8-848f-037e9eb1a929/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:32.056380+00:00'} GET: /v1/nodes?maintenance=true {} GOT:{'nodes': [{'uuid': 'be2d5d7d-77eb-4480-a125-4c772dabc5d4', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': True, 'links': [{'href': 'http://localhost/v1/nodes/be2d5d7d-77eb-4480-a125-4c772dabc5d4', 'rel': 'self'}, {'href': 'http://localhost/nodes/be2d5d7d-77eb-4480-a125-4c772dabc5d4', 'rel': 'bookmark'}]}, {'uuid': '3cfbedfb-f00d-4835-8cec-f04d48ef8230', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': True, 'links': [{'href': 'http://localhost/v1/nodes/3cfbedfb-f00d-4835-8cec-f04d48ef8230', 'rel': 'self'}, {'href': 'http://localhost/nodes/3cfbedfb-f00d-4835-8cec-f04d48ef8230', 'rel': 'bookmark'}]}]} GET: /v1/nodes?maintenance=false {} GOT:{'nodes': [{'uuid': 'd8441498-277c-4599-8998-3381288061d5', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/d8441498-277c-4599-8998-3381288061d5', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8441498-277c-4599-8998-3381288061d5', 'rel': 'bookmark'}]}, {'uuid': '447357e1-a19b-4255-ad43-d537b788d1c5', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/447357e1-a19b-4255-ad43-d537b788d1c5', 'rel': 'self'}, {'href': 'http://localhost/nodes/447357e1-a19b-4255-ad43-d537b788d1c5', 'rel': 'bookmark'}]}, {'uuid': '7623c3b3-5863-4600-ae35-a63d71d93bd6', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/7623c3b3-5863-4600-ae35-a63d71d93bd6', 'rel': 'self'}, {'href': 'http://localhost/nodes/7623c3b3-5863-4600-ae35-a63d71d93bd6', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=true&maintenance=false {} GOT:{'nodes': [{'uuid': '09e41fb2-8f71-4dfa-8c6c-9bfd4544d101', 'instance_uuid': 'a562a902-eeb1-410f-a226-e94de5268ab0', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/09e41fb2-8f71-4dfa-8c6c-9bfd4544d101', 'rel': 'self'}, {'href': 'http://localhost/nodes/09e41fb2-8f71-4dfa-8c6c-9bfd4544d101', 'rel': 'bookmark'}]}, {'uuid': '6cf755b9-9ff6-499a-8bcc-b7cce4024a2c', 'instance_uuid': '74e8a133-c9a6-480b-9f83-35a601be41f2', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/6cf755b9-9ff6-499a-8bcc-b7cce4024a2c', 'rel': 'self'}, {'href': 'http://localhost/nodes/6cf755b9-9ff6-499a-8bcc-b7cce4024a2c', 'rel': 'bookmark'}]}, {'uuid': '9611a4fc-bf6f-4085-b2e1-f102eb524462', 'instance_uuid': '8c76f1da-db5f-464d-837c-3079197e8460', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/9611a4fc-bf6f-4085-b2e1-f102eb524462', 'rel': 'self'}, {'href': 'http://localhost/nodes/9611a4fc-bf6f-4085-b2e1-f102eb524462', 'rel': 'bookmark'}]}, {'uuid': '333d689c-d52c-4ef1-b731-3781cad58cec', 'instance_uuid': '2457d986-6fa8-437f-bfd8-e72491382f15', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/333d689c-d52c-4ef1-b731-3781cad58cec', 'rel': 'self'}, {'href': 'http://localhost/nodes/333d689c-d52c-4ef1-b731-3781cad58cec', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=true&maintenance=true {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': '33d41e67-44bb-4d18-be6b-6af0a106364b', 'power_state': None, 'provision_state': None, 'maintenance': True, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_associated [0.354243s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many [0.261164s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_traits [0.205530s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_have_names [0.145552s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_false_field [0.073814s] ... ok GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:32.628638+00:00'}]} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'network_interface': 'flat', 'updated_at': None, 'created_at': '2020-05-04T22:34:32.628638+00:00'}]} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'storage_interface': None, 'vendor_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:32.846345+00:00'}]} GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': ['CUSTOM_1'], 'updated_at': None, 'created_at': '2020-05-04T22:34:32.846345+00:00'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], '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'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'vendor_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:33.052796+00:00'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_volume [0.152480s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_error [0.103994s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_mask_available_state [0.106120s] ... ok GET: /v1/nodes?associated=true&maintenance=TruE {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': '33d41e67-44bb-4d18-be6b-6af0a106364b', 'power_state': None, 'provision_state': None, 'maintenance': True, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} GET: /v1/nodes {} GOT:{'nodes': [{'uuid': 'c774e91c-fb9b-4b5b-bd68-a156f7e39a34', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/c774e91c-fb9b-4b5b-bd68-a156f7e39a34', 'rel': 'self'}, {'href': 'http://localhost/nodes/c774e91c-fb9b-4b5b-bd68-a156f7e39a34', 'rel': 'bookmark'}]}, {'uuid': 'a2c3eef4-d1b9-4325-8995-60fbf5755022', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/a2c3eef4-d1b9-4325-8995-60fbf5755022', 'rel': 'self'}, {'href': 'http://localhost/nodes/a2c3eef4-d1b9-4325-8995-60fbf5755022', 'rel': 'bookmark'}]}, {'uuid': '9635868a-a067-4cd1-a2f4-c55b873945d6', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/9635868a-a067-4cd1-a2f4-c55b873945d6', 'rel': 'self'}, {'href': 'http://localhost/nodes/9635868a-a067-4cd1-a2f4-c55b873945d6', 'rel': 'bookmark'}]}, {'uuid': '2c0dd3cc-e7a0-4a05-9ce3-c75de919e885', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/2c0dd3cc-e7a0-4a05-9ce3-c75de919e885', 'rel': 'self'}, {'href': 'http://localhost/nodes/2c0dd3cc-e7a0-4a05-9ce3-c75de919e885', 'rel': 'bookmark'}]}, {'uuid': '26ac606e-4d84-423e-9d05-0deefd6aa7e1', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/26ac606e-4d84-423e-9d05-0deefd6aa7e1', 'rel': 'self'}, {'href': 'http://localhost/nodes/26ac606e-4d84-423e-9d05-0deefd6aa7e1', 'rel': 'bookmark'}]}]} GET: /v1/nodes {} GOT:{'nodes': [{'uuid': 'dc900750-2fec-4f76-91b4-7b83ba9eb3ac', 'instance_uuid': None, 'name': 'node-0', 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/dc900750-2fec-4f76-91b4-7b83ba9eb3ac', 'rel': 'self'}, {'href': 'http://localhost/nodes/dc900750-2fec-4f76-91b4-7b83ba9eb3ac', 'rel': 'bookmark'}]}, {'uuid': '08de2d23-abfd-49de-a8fe-1b1cd141a42d', 'instance_uuid': None, 'name': 'node-1', 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/08de2d23-abfd-49de-a8fe-1b1cd141a42d', 'rel': 'self'}, {'href': 'http://localhost/nodes/08de2d23-abfd-49de-a8fe-1b1cd141a42d', 'rel': 'bookmark'}]}, {'uuid': '76c30884-8f77-45c0-8279-0c426d9a988a', 'instance_uuid': None, 'name': 'node-2', 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/76c30884-8f77-45c0-8279-0c426d9a988a', 'rel': 'self'}, {'href': 'http://localhost/nodes/76c30884-8f77-45c0-8279-0c426d9a988a', 'rel': 'bookmark'}]}, {'uuid': '60702053-9722-4037-8293-b2a63afebd34', 'instance_uuid': None, 'name': 'node-3', 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/60702053-9722-4037-8293-b2a63afebd34', 'rel': 'self'}, {'href': 'http://localhost/nodes/60702053-9722-4037-8293-b2a63afebd34', 'rel': 'bookmark'}]}, {'uuid': 'f28a9b8a-27c2-4418-80c0-9a8313c76f7a', 'instance_uuid': None, 'name': 'node-4', 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/f28a9b8a-27c2-4418-80c0-9a8313c76f7a', 'rel': 'self'}, {'href': 'http://localhost/nodes/f28a9b8a-27c2-4418-80c0-9a8313c76f7a', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': False, 'updated_at': None, 'created_at': '2020-05-04T22:34:33.164007+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:33.259500+00:00'}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_null_field [0.109200s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_bios_hidden_in_lower_version [0.170260s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association [0.175469s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid [0.096826s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_invalid_uuid [0.050299s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'vendor_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:33.052796+00:00'} GET: /v1/nodes?associated=true&maintenance=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7a256068-48b5-4bfc-a891-fc78fe9797d3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"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'\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:33.309906+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:33.309906+00:00'} GET: /v1/nodes/?limit=3&associated=True {} GOT:{'nodes': [{'uuid': '6d746c6a-f323-4245-9930-a4e67e05830d', 'instance_uuid': 'c5809a82-5239-4c58-bf26-d9a28533c817', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/6d746c6a-f323-4245-9930-a4e67e05830d', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d746c6a-f323-4245-9930-a4e67e05830d', 'rel': 'bookmark'}]}, {'uuid': 'd3763bea-ece1-4d9a-bc11-6370dcc13b58', 'instance_uuid': '9f106b6c-7403-423a-a578-80a9a84fe6c0', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/d3763bea-ece1-4d9a-bc11-6370dcc13b58', 'rel': 'self'}, {'href': 'http://localhost/nodes/d3763bea-ece1-4d9a-bc11-6370dcc13b58', 'rel': 'bookmark'}]}, {'uuid': '6c52c0d0-6023-4a24-965f-7569800facf8', 'instance_uuid': 'b256fe59-8c2f-4fd1-98e0-c6fae0d473e4', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/6c52c0d0-6023-4a24-965f-7569800facf8', 'rel': 'self'}, {'href': 'http://localhost/nodes/6c52c0d0-6023-4a24-965f-7569800facf8', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&associated=True&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=3&marker=6c52c0d0-6023-4a24-965f-7569800facf8'} GET: /v1/nodes/detail?limit=3&associated=true {} GOT:{'nodes': [{'uuid': 'd37c80fd-e3c3-438b-a6d8-fb229b7d820b', 'instance_uuid': '3093ab8e-09ad-469c-a107-12c777aa3d68', 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/d37c80fd-e3c3-438b-a6d8-fb229b7d820b', 'rel': 'self'}, {'href': 'http://localhost/nodes/d37c80fd-e3c3-438b-a6d8-fb229b7d820b', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/d37c80fd-e3c3-438b-a6d8-fb229b7d820b/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d37c80fd-e3c3-438b-a6d8-fb229b7d820b/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:33.612994+00:00'}, {'uuid': 'ca2ed51a-e1a4-451c-8365-76ee244e5f7a', 'instance_uuid': 'bdee3676-52fa-4992-841d-dc8bb3c41dec', 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/ca2ed51a-e1a4-451c-8365-76ee244e5f7a', 'rel': 'self'}, {'href': 'http://localhost/nodes/ca2ed51a-e1a4-451c-8365-76ee244e5f7a', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/ca2ed51a-e1a4-451c-8365-76ee244e5f7a/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/ca2ed51a-e1a4-451c-8365-76ee244e5f7a/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:33.619282+00:00'}, {'uuid': 'da46a4a4-3497-404c-aa11-926faeece325', 'instance_uuid': '6de54e79-ad3e-49f6-8dd4-38f339b8c5a5', 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/da46a4a4-3497-404c-aa11-926faeece325', 'rel': 'self'}, {'href': 'http://localhost/nodes/da46a4a4-3497-404c-aa11-926faeece325', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/da46a4a4-3497-404c-aa11-926faeece325/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/da46a4a4-3497-404c-aa11-926faeece325/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:33.625566+00:00'}], 'next': 'http://localhost/v1/nodes/detail?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=da46a4a4-3497-404c-aa11-926faeece325'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association_with_detail [0.153859s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_hidden_in_lower_version [0.216098s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_true_field [0.134806s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'updated_at': None, 'created_at': '2020-05-04T22:34:33.367306+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:33.367306+00:00'} GET: /v1/nodes?instance_uuid=3d9e866e-673f-4a72-bded-5c6ad0999beb {} GOT:{'nodes': [{'uuid': '43f0a4f7-8334-4ff7-9372-da3fc1b15bf4', 'instance_uuid': '3d9e866e-673f-4a72-bded-5c6ad0999beb', 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/43f0a4f7-8334-4ff7-9372-da3fc1b15bf4', 'rel': 'self'}, {'href': 'http://localhost/nodes/43f0a4f7-8334-4ff7-9372-da3fc1b15bf4', 'rel': 'bookmark'}]}]} GET: /v1/nodes?instance_uuid=fake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2f8f0939-e93b-48d5-9afb-fe5b84417400 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute instance_uuid. Value: 'fake'. unable to convert to uuid. Error: Expected a UUID but received fake.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:33.666983+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:33.666983+00:00'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_wrong_uuid [0.080686s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_fault_hidden_in_lower_version [0.113920s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_interface_fields_hidden_in_lower_version [0.129886s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_hidden_in_lower_version [0.237541s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], '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'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'network_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:33.800547+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'updated_at': None, 'created_at': '2020-05-04T22:34:33.940947+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'owner': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:33.940947+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'owner': 'akindofmagic', 'updated_at': None, 'created_at': '2020-05-04T22:34:34.179067+00:00'}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_present [0.112157s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected [0.215938s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_with_reason [0.146826s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'updated_at': None, 'created_at': '2020-05-04T22:34:33.768032+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:33.768032+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': True, 'updated_at': None, 'created_at': '2020-05-04T22:34:33.982626+00:00'} GET: /v1/nodes?instance_uuid=bfa4f1f1-0fc8-4a8e-a123-f546199279b7 {} GOT:{'nodes': []} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:34.188451+00:00'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_group_hidden_in_lower_version [0.158169s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_hidden_in_lower_version [0.214286s] ... ok GET: /v1/nodes/1cd79ef7-c999-4666-b0b8-a20460cb5d9e {} GOT:{'uuid': '1cd79ef7-c999-4666-b0b8-a20460cb5d9e', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'active', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1cd79ef7-c999-4666-b0b8-a20460cb5d9e', 'rel': 'self'}, {'href': 'http://localhost/nodes/1cd79ef7-c999-4666-b0b8-a20460cb5d9e', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/1cd79ef7-c999-4666-b0b8-a20460cb5d9e/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1cd79ef7-c999-4666-b0b8-a20460cb5d9e/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1cd79ef7-c999-4666-b0b8-a20460cb5d9e/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1cd79ef7-c999-4666-b0b8-a20460cb5d9e/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1cd79ef7-c999-4666-b0b8-a20460cb5d9e/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1cd79ef7-c999-4666-b0b8-a20460cb5d9e/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1cd79ef7-c999-4666-b0b8-a20460cb5d9e/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1cd79ef7-c999-4666-b0b8-a20460cb5d9e/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': True, 'protected_reason': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:34.286194+00:00'} GET: /v1/nodes/1d096cbd-4f54-4f49-af3a-87708cc3ffbf {} GOT:{'uuid': '1d096cbd-4f54-4f49-af3a-87708cc3ffbf', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'active', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1d096cbd-4f54-4f49-af3a-87708cc3ffbf', 'rel': 'self'}, {'href': 'http://localhost/nodes/1d096cbd-4f54-4f49-af3a-87708cc3ffbf', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/1d096cbd-4f54-4f49-af3a-87708cc3ffbf/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1d096cbd-4f54-4f49-af3a-87708cc3ffbf/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1d096cbd-4f54-4f49-af3a-87708cc3ffbf/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1d096cbd-4f54-4f49-af3a-87708cc3ffbf/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1d096cbd-4f54-4f49-af3a-87708cc3ffbf/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1d096cbd-4f54-4f49-af3a-87708cc3ffbf/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1d096cbd-4f54-4f49-af3a-87708cc3ffbf/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1d096cbd-4f54-4f49-af3a-87708cc3ffbf/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:34.385529+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'active', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': True, 'protected_reason': 'reason!', 'updated_at': None, 'created_at': '2020-05-04T22:34:34.502374+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:34.633745+00:00'}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_field_hidden_in_lower_version [0.177430s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_storage_interface_hidden_in_lower_version [0.198206s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'updated_at': None, 'created_at': '2020-05-04T22:34:34.188451+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:34.361988+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'updated_at': None, 'created_at': '2020-05-04T22:34:34.361988+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:34.574862+00:00'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_deploy_step_hidden_in_lower_version [0.165946s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_description_null_field [0.133653s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one [0.229723s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:34.574862+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'owner': None, 'description': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:34.730556+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'inspecting', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'updated_at': None, 'created_at': '2020-05-04T22:34:34.882369+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'inspect wait', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'updated_at': None, 'created_at': '2020-05-04T22:34:34.882369+00:00'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_inspect_wait_state_between_api_versions [0.223545s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_null_field [0.078282s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_hidden_in_lower_version [0.144819s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource [0.193771s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'owner': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:35.082136+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:35.156271+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:35.156271+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:35.316821+00:00'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_reason_hidden_in_lower_version [0.123570s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states [0.324824s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:34.633745+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'vendor_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:34.823680+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'storage_interface': None, 'vendor_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:34.823680+00:00'} GET: /v1/nodes {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:{'portgroups': [{'uuid': '8706122a-ae21-4f1a-9fae-9c8ea7a65e6e', 'address': '52:54:00:cf:2d:30', 'name': 'pg-0', 'links': [{'href': 'http://localhost/v1/portgroups/8706122a-ae21-4f1a-9fae-9c8ea7a65e6e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/8706122a-ae21-4f1a-9fae-9c8ea7a65e6e', 'rel': 'bookmark'}]}, {'uuid': '1169fdb1-ab00-40af-bc20-6c46692f61c9', 'address': '52:54:00:cf:2d:31', 'name': 'pg-1', 'links': [{'href': 'http://localhost/v1/portgroups/1169fdb1-ab00-40af-bc20-6c46692f61c9', 'rel': 'self'}, {'href': 'http://localhost/portgroups/1169fdb1-ab00-40af-bc20-6c46692f61c9', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups?limit=1 {} GOT:{'portgroups': [{'uuid': '8706122a-ae21-4f1a-9fae-9c8ea7a65e6e', 'address': '52:54:00:cf:2d:30', 'name': 'pg-0', 'links': [{'href': 'http://localhost/v1/portgroups/8706122a-ae21-4f1a-9fae-9c8ea7a65e6e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/8706122a-ae21-4f1a-9fae-9c8ea7a65e6e', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=1&marker=8706122a-ae21-4f1a-9fae-9c8ea7a65e6e'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'network_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:35.454011+00:00'}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link_hidden_for_older_versions [0.100778s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_by_name [0.086778s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_old_api_version [0.364378s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_raid [0.074011s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_traits_hidden_in_lower_version [0.109897s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource [0.162090s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_invalid_ident [0.040101s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_node_not_found [0.099345s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:35.316821+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:{'console_enabled': False, 'power_state': 'fake-state', 'provision_state': 'fake-state', 'provision_updated_at': '2000-01-01T00:00:00+00:00', 'target_power_state': 'fake-state', 'target_provision_state': 'fake-state', 'last_error': 'fake-error'} GET: /v1/nodes/eggs/states {} GOT:{'console_enabled': False, 'power_state': 'fake-state', 'provision_state': 'fake-state', 'provision_updated_at': '1971-03-09T00:00:00+00:00', 'target_power_state': 'fake-state', 'target_provision_state': 'fake-state', 'last_error': 'fake-error'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states {} GOT:{'console_enabled': False, 'power_state': 'fake-state', 'provision_state': 'fake-state', 'provision_updated_at': '2000-01-01T00:00:00+00:00', 'target_power_state': 'fake-state', 'target_provision_state': 'fake-state', 'last_error': 'fake-error', 'raid_config': {'foo': 'bar'}, 'target_raid_config': {'foo': 'bar'}} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'storage_interface': None, 'vendor_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:35.915759+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'updated_at': None, 'created_at': '2020-05-04T22:34:35.915759+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], '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'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'network_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:36.024634+00:00'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link [0.080604s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_link [0.094838s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_noid [0.103673s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key [0.159823s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_via_portgroups_subres_not_allowed [0.080094s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_not_allowed [0.052418s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ssh_creds_masked [0.075602s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_allowed [0.127818s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_insensitive [0.222017s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_invalid [0.206483s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name [0.070852s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid [0.069798s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid_using_deprecated_interface [0.074270s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_noid [0.075045s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:{'ports': [{'uuid': '0806539a-bc17-4bb3-bae2-282f23f74e6c', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/0806539a-bc17-4bb3-bae2-282f23f74e6c', 'rel': 'self'}, {'href': 'http://localhost/ports/0806539a-bc17-4bb3-bae2-282f23f74e6c', 'rel': 'bookmark'}]}, {'uuid': '690fc208-21d6-4072-aa3f-9cda89720a52', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/690fc208-21d6-4072-aa3f-9cda89720a52', 'rel': 'self'}, {'href': 'http://localhost/ports/690fc208-21d6-4072-aa3f-9cda89720a52', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports?limit=1 {} GOT:{'ports': [{'uuid': '0806539a-bc17-4bb3-bae2-282f23f74e6c', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/0806539a-bc17-4bb3-bae2-282f23f74e6c', 'rel': 'self'}, {'href': 'http://localhost/ports/0806539a-bc17-4bb3-bae2-282f23f74e6c', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=0806539a-bc17-4bb3-bae2-282f23f74e6c'} GET: /v1/nodes/123~123/ports {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected a logical name or UUID but received 123~123.\"}"} GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f7427ac1-6028-4594-9131-35a74e4d477e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1797c479-166f-4052-85a4-5b38d2d60186 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node ports could not be found.\", \"debuginfo\": null}"} 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-109c0f6c-9a96-4867-8dc4-f1d37e6244d3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/nodes?sort_key=resource_class {} GOT:{'nodes': [{'uuid': '03b08374-c2c2-4bac-b2cc-71a8e59a56f0', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/03b08374-c2c2-4bac-b2cc-71a8e59a56f0', 'rel': 'self'}, {'href': 'http://localhost/nodes/03b08374-c2c2-4bac-b2cc-71a8e59a56f0', 'rel': 'bookmark'}]}, {'uuid': 'c6d8697c-d7d4-4677-bf3a-9e704c2ee46d', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/c6d8697c-d7d4-4677-bf3a-9e704c2ee46d', 'rel': 'self'}, {'href': 'http://localhost/nodes/c6d8697c-d7d4-4677-bf3a-9e704c2ee46d', 'rel': 'bookmark'}]}, {'uuid': 'd244f19d-e0e6-4936-9069-459c57f33e10', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/d244f19d-e0e6-4936-9069-459c57f33e10', 'rel': 'self'}, {'href': 'http://localhost/nodes/d244f19d-e0e6-4936-9069-459c57f33e10', 'rel': 'bookmark'}]}]} GET: /v1/nodes?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c69c7261-1f13-457e-8d5a-5a0b0612a02a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/nodes?sort_key=properties {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c3326216-1d52-4b14-9a60-6cf5d78ad435 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/nodes?sort_key=driver_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9f28bf54-2190-411d-9c0e-d0cd5d433053 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value driver_info is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/nodes?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-665cc5bf-30ab-4969-ac0e-011c4e65475b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/nodes?sort_key=instance_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f363be4f-4777-4bc8-803a-24a94c169b2f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value instance_info is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/nodes?sort_key=driver_internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c8576531-332c-435a-a1cb-6442552306ce X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value driver_internal_info is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/nodes?sort_key=clean_step {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b1cef5fc-8a4c-4d97-a406-0c3ddd3142f0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value clean_step is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/nodes?sort_key=traits {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-44963a5d-c312-487d-80f1-4bdb4ea57e97 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value traits is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/nodes?associated=False&limit=2 {} GOT:{'nodes': [{'uuid': '5d9a1bed-e37e-4f5c-a4a5-f374d5398b19', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/5d9a1bed-e37e-4f5c-a4a5-f374d5398b19', 'rel': 'self'}, {'href': 'http://localhost/nodes/5d9a1bed-e37e-4f5c-a4a5-f374d5398b19', 'rel': 'bookmark'}]}, {'uuid': 'ed989361-8303-4d12-8418-1e2e0f89aec7', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/ed989361-8303-4d12-8418-1e2e0f89aec7', 'rel': 'self'}, {'href': 'http://localhost/nodes/ed989361-8303-4d12-8418-1e2e0f89aec7', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=instance_uuid,maintenance,power_state,provision_state,uuid,name&limit=2&marker=ed989361-8303-4d12-8418-1e2e0f89aec7'}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_with_limit [0.154957s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name_unsupported [0.118266s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource [0.207963s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:36.126634+00:00'} GET: /v1/nodes?sort_key=uuid {} GOT:{'nodes': [{'uuid': '1aa099a9-7ab6-46dc-89ce-98611f0ee57d', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/1aa099a9-7ab6-46dc-89ce-98611f0ee57d', 'rel': 'self'}, {'href': 'http://localhost/nodes/1aa099a9-7ab6-46dc-89ce-98611f0ee57d', 'rel': 'bookmark'}]}, {'uuid': '6a069e83-faf2-470d-98b5-c58895d45b74', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/6a069e83-faf2-470d-98b5-c58895d45b74', 'rel': 'self'}, {'href': 'http://localhost/nodes/6a069e83-faf2-470d-98b5-c58895d45b74', 'rel': 'bookmark'}]}, {'uuid': '9182101d-c283-4d74-9cef-24f3f7a4d7bd', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/9182101d-c283-4d74-9cef-24f3f7a4d7bd', 'rel': 'self'}, {'href': 'http://localhost/nodes/9182101d-c283-4d74-9cef-24f3f7a4d7bd', 'rel': 'bookmark'}]}]} GET: /v1/nodes?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0431a5e9-59df-40ce-bb89-79acb81b542c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'ssh_password': '******', 'ssh_key_contents': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'rescue_interface': None, 'storage_interface': None, 'vendor_interface': None, 'traits': [], 'bios_interface': None, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'owner': None, 'description': None, 'allocation_uuid': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:36.413264+00:00'} GET: /v1/nodes?associated=false {} GOT:{'nodes': [{'uuid': '708645fa-bb55-4b79-8e4e-e9631efcec46', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/708645fa-bb55-4b79-8e4e-e9631efcec46', 'rel': 'self'}, {'href': 'http://localhost/nodes/708645fa-bb55-4b79-8e4e-e9631efcec46', 'rel': 'bookmark'}]}, {'uuid': '9583e43d-797a-4701-8233-5bb85b13392d', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/9583e43d-797a-4701-8233-5bb85b13392d', 'rel': 'self'}, {'href': 'http://localhost/nodes/9583e43d-797a-4701-8233-5bb85b13392d', 'rel': 'bookmark'}]}, {'uuid': '91515661-dfaf-4a00-8ff1-043a11f69ab1', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/91515661-dfaf-4a00-8ff1-043a11f69ab1', 'rel': 'self'}, {'href': 'http://localhost/nodes/91515661-dfaf-4a00-8ff1-043a11f69ab1', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=FALSE {} GOT:{'nodes': [{'uuid': '708645fa-bb55-4b79-8e4e-e9631efcec46', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/708645fa-bb55-4b79-8e4e-e9631efcec46', 'rel': 'self'}, {'href': 'http://localhost/nodes/708645fa-bb55-4b79-8e4e-e9631efcec46', 'rel': 'bookmark'}]}, {'uuid': '9583e43d-797a-4701-8233-5bb85b13392d', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/9583e43d-797a-4701-8233-5bb85b13392d', 'rel': 'self'}, {'href': 'http://localhost/nodes/9583e43d-797a-4701-8233-5bb85b13392d', 'rel': 'bookmark'}]}, {'uuid': '91515661-dfaf-4a00-8ff1-043a11f69ab1', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/91515661-dfaf-4a00-8ff1-043a11f69ab1', 'rel': 'self'}, {'href': 'http://localhost/nodes/91515661-dfaf-4a00-8ff1-043a11f69ab1', 'rel': 'bookmark'}]}]} GET: /v1/nodes/validate?node=spam {} GOT:{} GET: /v1/nodes/validate?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} GET: /v1/nodes/validate?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} GET: /v1/nodes/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-020ddd6e-6547-42d8-ad05-a6ba54f299c9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node volume could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {'private_state': 'secret value'}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': None, 'console_interface': None, 'deploy_interface': None, 'inspect_interface': None, 'management_interface': None, 'network_interface': None, 'power_interface': None, 'raid_interface': None, 'vendor_interface': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:37.038290+00:00'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_link [0.111585s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestNodeObject.test_node_init [0.017961s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_lowers_conductor_group [0.092724s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_remove_chassis_uuid [0.046284s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_node_not_found [0.134432s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_ok [0.104763s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource [0.063954s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root [0.088870s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_invalid_api_version [0.064072s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root_non_existent [0.076316s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_cleaning [0.080465s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource [0.173053s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_invalid [0.079878s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_node_not_found [0.075991s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_not_acceptable [0.065976s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_noid [0.070489s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_uuid_forbidden [0.069929s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_id [0.076866s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_conductor_forbidden [0.071178s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_uuid [0.086476s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_deploy_step_forbidden [0.074177s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_fault_forbidden [0.071575s] ... ok GET: /v1/nodes/validate?node=spam {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-31f33c88-3af2-42fa-bea8-b3c2f5be91d3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:{'connectors': [{'uuid': '7ac20abd-989f-451d-88a5-e8e1096782c3', 'type': 'iqn', 'connector_id': 'test-connector_id-0', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/7ac20abd-989f-451d-88a5-e8e1096782c3', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/7ac20abd-989f-451d-88a5-e8e1096782c3', 'rel': 'bookmark'}]}, {'uuid': 'c49de6b5-44da-4f1b-87bf-4697eed452ec', 'type': 'iqn', 'connector_id': 'test-connector_id-1', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/c49de6b5-44da-4f1b-87bf-4697eed452ec', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/c49de6b5-44da-4f1b-87bf-4697eed452ec', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors?limit=1 {} GOT:{'connectors': [{'uuid': '7ac20abd-989f-451d-88a5-e8e1096782c3', 'type': 'iqn', 'connector_id': 'test-connector_id-0', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/7ac20abd-989f-451d-88a5-e8e1096782c3', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/7ac20abd-989f-451d-88a5-e8e1096782c3', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,type,connector_id&limit=1&marker=7ac20abd-989f-451d-88a5-e8e1096782c3'} GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-86774a9a-baf8-46cc-a48e-4caff813969a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:{'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/', 'rel': 'bookmark'}], 'connectors': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors', 'rel': 'bookmark'}], 'targets': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets', 'rel': 'bookmark'}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-84c0e7d8-4a92-4ff3-9c86-a97c16100279 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.31 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:{'targets': [{'uuid': 'd748c739-3238-4a10-825e-d672b9f585d1', 'volume_type': 'iscsi', 'boot_index': 0, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/d748c739-3238-4a10-825e-d672b9f585d1', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/d748c739-3238-4a10-825e-d672b9f585d1', 'rel': 'bookmark'}]}, {'uuid': '05ed4dd5-ce08-409f-a8ca-0fabc1b10567', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/05ed4dd5-ce08-409f-a8ca-0fabc1b10567', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/05ed4dd5-ce08-409f-a8ca-0fabc1b10567', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets?limit=1 {} GOT:{'targets': [{'uuid': 'd748c739-3238-4a10-825e-d672b9f585d1', 'volume_type': 'iscsi', 'boot_index': 0, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/d748c739-3238-4a10-825e-d672b9f585d1', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/d748c739-3238-4a10-825e-d672b9f585d1', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,volume_type,boot_index,volume_id&limit=1&marker=d748c739-3238-4a10-825e-d672b9f585d1'} GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-59d49049-c7d2-45dc-b1a3-6f11979c31f7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-92ccdb68-be20-4f61-ad3b-8885e29f95f6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node volume could not be found.\", \"debuginfo\": null}"} 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-fc6121c7-f2e4-4c40-9cb2-ef686ce358f8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/chassis_id) to the root of the resource is not allowed\", \"debuginfo\": null}"} 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-0dfec825-8bbb-4022-8d19-aa5adce059c3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:37.879440+00:00"} PATCH: /v1/nodes/fad000c1-db19-4eb9-80b1-083004af1b35 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-025637dc-359f-47e2-90ee-b8ea75fcfdaa X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "fad000c1-db19-4eb9-80b1-083004af1b35", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "deploy failed", "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": "active", "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/fad000c1-db19-4eb9-80b1-083004af1b35", "rel": "self"}, {"href": "http://localhost/nodes/fad000c1-db19-4eb9-80b1-083004af1b35", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/fad000c1-db19-4eb9-80b1-083004af1b35/ports", "rel": "self"}, {"href": "http://localhost/nodes/fad000c1-db19-4eb9-80b1-083004af1b35/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2020-05-04T22:34:37.982281+00:00"}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_deployfail [0.095101s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_invalid [0.150134s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_ok [0.169661s] ... ok 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-13212335-21ba-4f2b-9199-31d31e5d52a3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:37.278600+00:00"} 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-81075f7f-6125-470e-b7d0-7cfdff080b0a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:37.381248+00:00"} 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-3f9f8c6f-9590-428d-be12-2dc2960ca2c7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\", \"debuginfo\": null}"} PATCH: /v1/nodes/a5c0b798-ca1f-436a-afdc-b1446d3240bb [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-b91a4796-68bd-4f5f-8946-ef788841666d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node a5c0b798-ca1f-436a-afdc-b1446d3240bb can not be updated while a state transition is in progress.\", \"debuginfo\": null}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': ''}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e0459857-7992-4595-bc02-494a7c0b13e9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node deadbeef-0000-1111-2222-333333333333: Cannot change name to invalid name ''\", \"debuginfo\": null}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': ''}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0d88f7d9-e321-44a7-80ad-1fe5206e3d15 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/873e9e55-7fb1-436c-8041-b8dbbe60cd3d [{'path': '/allocation_uuid', 'op': 'replace', 'value': '305f5e73-6646-4a51-9577-5539e089addd'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2af029c0-f662-468f-b4d3-7fe6c6fdac45 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.52 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/allocation_uuid' is an internal attribute and can not be updated\", \"debuginfo\": null}"} PATCH: /v1/nodes/b6ab291a-9f4f-4c43-a8b2-fb576e60126e [{'path': '/conductor', 'op': 'replace', 'value': 'why care'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f25c6d32-ba89-4312-9bd8-7549aa6db5b0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/conductor' is an internal attribute and can not be updated\", \"debuginfo\": null}"} PATCH: /v1/nodes/bbd07fc0-9dcd-42c3-8fbb-874a8367f8fe [{'path': '/deploy_step', 'op': 'replace', 'value': 'deploy this'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1c6a8b3d-8a1c-49f3-8bc0-34f396d9100c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.44 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/deploy_step' is an internal attribute and can not be updated\", \"debuginfo\": null}"} PATCH: /v1/nodes/affd9592-b798-4db1-93fc-f1cc81f0ec98 [{'path': '/fault', 'op': 'replace', 'value': 'why care'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-30f58d9d-12cb-4621-8adb-2556f7ab5a41 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/fault' is an internal attribute and can not be updated\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'replace', 'value': 'guido-van-rossum'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6686078f-9e91-40ed-ab05-62149545f5f9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "name": "node-57.1", "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:38.069088+00:00"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_replace_ok [0.091162s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_portgroups_subresource [0.132857s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource [0.130772s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource_no_port_id [0.074966s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_drive_console_enabled [0.068860s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_second_invalid [0.072318s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_reserved [0.255810s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource [0.076313s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_replace_invalid [0.078981s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_forbidden [0.068358s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource_no_connector_id [0.077819s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_internal_field [0.062781s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_duplicate_name [0.085915s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_mandatory_field [0.063788s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_ok [0.086048s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_uuid [0.082836s] ... ok PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'i am invalid'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d9b32e10-473f-4a72-b82c-34cb9bf51867 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node deadbeef-0000-1111-2222-333333333333: Cannot change name to invalid name 'i am invalid'\", \"debuginfo\": null}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'guido-van-rossum'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-51953024-55e3-4427-a67f-1dae19b05f51 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "deadbeef-0000-1111-2222-333333333333", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/deadbeef-0000-1111-2222-333333333333", "rel": "self"}, {"href": "http://localhost/nodes/deadbeef-0000-1111-2222-333333333333", "rel": "bookmark"}], "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:38.253347+00:00"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'maintenance'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-86e21334-830b-4da2-b91e-cd3b4a8be6e1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"maintenance\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'management'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8986712b-6d65-45f2-9ab7-7dd4cce2f600 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"management\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'states'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-952431a3-280c-4f86-a0fc-ad04dda38f44 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"states\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'vendor_passthru'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ac04b593-52bd-4c22-933b-5ca02bc93d4e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"vendor_passthru\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'detail'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c293d9ce-1c5d-4da2-aac7-89f058fc474f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"detail\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} PATCH: /v1/nodes/deadbeef-0000-1111-2222-333333333333 [{'path': '/name', 'op': 'add', 'value': 'validate'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8d53af53-02bb-4ec3-9240-5e9bd3a305c4 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"validate\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'replace', 'value': 'Guido Van Error'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ea106eab-fa91-4cb9-b2b1-f5bdf5b8d763 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Guido Van Error'\", \"debuginfo\": null}"} PATCH: /v1/nodes/8758dfcd-86b2-4b76-984c-161f8feaaf50 [{'path': '/allocation_uuid', 'op': 'replace', 'value': 'b68e91f0-6f35-42b3-95a6-e00f0077e1b4'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9cc63cd4-c5c3-4c8b-bee4-5ab69c0bf8df X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/allocation_uuid' is an internal attribute and can not be updated\", \"debuginfo\": null}"} PATCH: /v1/nodes/f0fb4ea5-1d62-4b63-91da-c7b13d0f4dc9 [{'path': '/name', 'op': 'replace', 'value': 'this-is-my-node'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-1b89cbba-6b38-4b6c-800b-fb14e04a0b94 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"this-is-my-node\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cf0580a4-786b-4d29-8a4e-5814777a8026 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "name": "node-57.1", "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:38.878447+00:00"}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_remove_ok [0.094033s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_both_invalid [0.131603s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_consoled_enabled [0.096273s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_targets_subresource [0.109352s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_internal_field [0.060102s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_id [0.079958s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid [0.084079s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid_invalid_api_version [0.081768s] ... ok 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-cb3bc4df-bb80-4a91-ab88-712f7510e849 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} 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-e198ec7c-c751-4900-9da4-a94b4edf362f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} 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-dcdc76c0-ba7e-45a7-8830-c02956254eda X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"port_uuid\\\"\", \"debuginfo\": null}"} 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-09de08e3-d757-482e-ac31-b3222f9f67cb X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 can not update the driver while the console is enabled. Please stop the console first.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'add', 'value': 'node-0'}, {'path': '/name', 'op': 'replace', 'value': 'Guido Van Error'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-600ee86a-e529-4bec-ae4a-453b15d608c6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Guido Van Error'\", \"debuginfo\": null}"} 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-f97ae400-e1b3-4157-b0de-012bebc88817 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} 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-ce800b86-b150-4418-91f0-dbd94ce056a7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"connector_uuid\\\"\", \"debuginfo\": null}"} 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-a59bba37-34ad-42b2-9fc0-8e9873547dc1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/last_error' is an internal attribute and can not be updated\", \"debuginfo\": null}"} 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-fd14c378-256f-44f2-918e-0083aebbb402 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/driver' is a mandatory attribute and can not be removed\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-64adbd56-a700-44a0-9ff7-79110c4e84a6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:38.926653+00:00"} 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-d748e89f-83df-4b6c-9a55-417701abedc4 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/console_enabled', 'op': 'replace', 'value': True}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b5cd9c0a-3452-4535-aecb-4883b3cab1d5 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/console_enabled' is an internal attribute and can not be updated\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/power_state', 'op': 'replace', 'value': 'fake-state'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6eef8bd9-aa20-4552-bc7b-167a546de09b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/power_state' is an internal attribute and can not be updated\", \"debuginfo\": null}"} PATCH: /v1/nodes/node-57.1 [{'path': '/maintenance', 'op': 'replace', 'value': 'true'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6b4622cf-3abc-4fef-a8bc-210418b4fa73 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "name": "node-57.1", "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:39.256891+00:00"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance_by_name [0.094343s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_non_existent_chassis_uuid [0.146513s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_provision_updated_at [0.081412s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_non_existent_property_fail [0.123257s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_not_supported [0.062625s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_id [0.074163s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_without_driver [0.063262s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_uuid [0.086377s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_network_interface [0.095561s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_storage_interface [0.126603s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'add', 'value': 'Windows ME'}, {'path': '/name', 'op': 'replace', 'value': 'Guido Van Error'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-16168adc-9966-41c6-a72e-5f2ab468d0cf X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123: Cannot change name to invalid name 'Windows ME'\", \"debuginfo\": null}"} 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-f4bb0f74-d4e9-44ca-8871-cd842368b2d8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} 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-81f8bd9e-62aa-41ed-8714-50ae13f57a01 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/chassis_id', 'op': 'remove'}'. Reason: can't remove non-existent object 'chassis_id'\", \"debuginfo\": null}"} 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-1420ddf7-78ac-4392-aed9-2d6823d6115a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "name": "node-57.1", "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "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"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "network_interface": null, "updated_at": null, "created_at": "2020-05-04T22:34:39.293697+00:00"} 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-ea38788b-bb7f-4c3c-b4b8-e0f7949548ff X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} 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-b3c2cbf4-aeb8-475f-b51f-2a05b08e3fca X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} 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-6182a608-5a56-4b18-93ed-0f257120c3f6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/chassis_id', 'op': 'replace', 'value': '1'}'. Reason: can't replace non-existent object 'chassis_id'\", \"debuginfo\": null}"} 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-b431a8d7-e158-45b5-aa84-ebbf19ac8683 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:39.661258+00:00"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/maintenance', 'op': 'replace', 'value': 'true'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a21aaf00-db3d-48d7-8036-3cb9131639b0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:39.753401+00:00"}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance [0.097302s] ... ok 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-7e4161f8-bdce-437a-a66d-6081a82c531b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis eeeeeeee-dddd-cccc-bbbb-aaaaaaaaaaaa could not be found.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/provision_updated_at', 'op': 'replace', 'value': '2000-01-01 00:00:00'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ee60b3d7-f074-40ee-b296-1089a3fcbbb7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/provision_updated_at' is an internal attribute and can not be updated\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True [{'path': '/driver', 'value': 'ipmi', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2621243c-8ddd-4f17-ab29-1671012d938f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True [{'path': '/name', 'value': 'new name', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-47ea0006-4ac3-48c4-a978-97fca877e5bd X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The reset_interfaces parameter can only be used when changing the node's driver.\", \"debuginfo\": null}"} PATCH: /v1/nodes/5f4efed8-f97a-4ced-b2a7-1b93720333ac [{'path': '/network_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-aee7232d-e9fd-4ccd-b7cc-43abe5e49270 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "5f4efed8-f97a-4ced-b2a7-1b93720333ac", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/5f4efed8-f97a-4ced-b2a7-1b93720333ac", "rel": "self"}, {"href": "http://localhost/nodes/5f4efed8-f97a-4ced-b2a7-1b93720333ac", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/5f4efed8-f97a-4ced-b2a7-1b93720333ac/ports", "rel": "self"}, {"href": "http://localhost/nodes/5f4efed8-f97a-4ced-b2a7-1b93720333ac/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/5f4efed8-f97a-4ced-b2a7-1b93720333ac/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/5f4efed8-f97a-4ced-b2a7-1b93720333ac/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/5f4efed8-f97a-4ced-b2a7-1b93720333ac/volume", "rel": "self"}, {"href": "http://localhost/nodes/5f4efed8-f97a-4ced-b2a7-1b93720333ac/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/5f4efed8-f97a-4ced-b2a7-1b93720333ac/states", "rel": "self"}, {"href": "http://localhost/nodes/5f4efed8-f97a-4ced-b2a7-1b93720333ac/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:39.723812+00:00"} PATCH: /v1/nodes/38ff4b8d-ef51-456a-be6f-ffaedde501f0 [{'path': '/storage_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9d655446-e8fa-4b6a-a19e-d37e458c3a01 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "38ff4b8d-ef51-456a-be6f-ffaedde501f0", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/38ff4b8d-ef51-456a-be6f-ffaedde501f0", "rel": "self"}, {"href": "http://localhost/nodes/38ff4b8d-ef51-456a-be6f-ffaedde501f0", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/38ff4b8d-ef51-456a-be6f-ffaedde501f0/ports", "rel": "self"}, {"href": "http://localhost/nodes/38ff4b8d-ef51-456a-be6f-ffaedde501f0/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/38ff4b8d-ef51-456a-be6f-ffaedde501f0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/38ff4b8d-ef51-456a-be6f-ffaedde501f0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/38ff4b8d-ef51-456a-be6f-ffaedde501f0/volume", "rel": "self"}, {"href": "http://localhost/nodes/38ff4b8d-ef51-456a-be6f-ffaedde501f0/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/38ff4b8d-ef51-456a-be6f-ffaedde501f0/states", "rel": "self"}, {"href": "http://localhost/nodes/38ff4b8d-ef51-456a-be6f-ffaedde501f0/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:39.822648+00:00"} PATCH: /v1/nodes/e48184a5-9bfc-4e95-bf94-9bb5d11ab0b2 [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0174aefb-a3d8-4f38-87aa-a94eb8ce7b7a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"uuid": "e48184a5-9bfc-4e95-bf94-9bb5d11ab0b2", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/e48184a5-9bfc-4e95-bf94-9bb5d11ab0b2", "rel": "self"}, {"href": "http://localhost/nodes/e48184a5-9bfc-4e95-bf94-9bb5d11ab0b2", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/e48184a5-9bfc-4e95-bf94-9bb5d11ab0b2/ports", "rel": "self"}, {"href": "http://localhost/nodes/e48184a5-9bfc-4e95-bf94-9bb5d11ab0b2/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e48184a5-9bfc-4e95-bf94-9bb5d11ab0b2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e48184a5-9bfc-4e95-bf94-9bb5d11ab0b2/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e48184a5-9bfc-4e95-bf94-9bb5d11ab0b2/volume", "rel": "self"}, {"href": "http://localhost/nodes/e48184a5-9bfc-4e95-bf94-9bb5d11ab0b2/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e48184a5-9bfc-4e95-bf94-9bb5d11ab0b2/states", "rel": "self"}, {"href": "http://localhost/nodes/e48184a5-9bfc-4e95-bf94-9bb5d11ab0b2/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "updated_at": null, "created_at": "2020-05-04T22:34:39.953966+00:00"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean [0.104937s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description [0.194033s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description_oversize [0.140401s] ... ok PATCH: /v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d [{'path': '/boot_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0a738928-b3f5-434b-9097-643b069ff570 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/ports", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/volume", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/states", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:39.874814+00:00"} PATCH: /v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d [{'path': '/console_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-24ba5d0e-54ac-4672-bb19-03558c522c3b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/ports", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/volume", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/states", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:39.874814+00:00"} PATCH: /v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d [{'path': '/deploy_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cb8869a6-8734-41cb-99be-e998f46f9f9f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/ports", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/volume", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/states", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:39.874814+00:00"} PATCH: /v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d [{'path': '/inspect_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8d840609-6526-4ebd-83e5-8d24cf5ef66a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/ports", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/volume", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/states", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:39.874814+00:00"} PATCH: /v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d [{'path': '/management_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-886da67c-69d8-477f-82a4-b386a2425559 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/ports", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/volume", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/states", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:39.874814+00:00"} PATCH: /v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d [{'path': '/power_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3fe5bdbb-b9e3-43bd-9cd8-12898561e496 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/ports", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/volume", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/states", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:39.874814+00:00"}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interface_fields [0.685460s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_maintenance [0.156250s] ... ok PATCH: /v1/nodes/526583ec-8407-4d08-92e8-01af05c2bacf [{'path': '/description', 'value': 'meow', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bcbb7558-f87d-4dbb-aa65-8e83d710e4b7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.51 {"uuid": "526583ec-8407-4d08-92e8-01af05c2bacf", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/526583ec-8407-4d08-92e8-01af05c2bacf", "rel": "self"}, {"href": "http://localhost/nodes/526583ec-8407-4d08-92e8-01af05c2bacf", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/526583ec-8407-4d08-92e8-01af05c2bacf/ports", "rel": "self"}, {"href": "http://localhost/nodes/526583ec-8407-4d08-92e8-01af05c2bacf/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/526583ec-8407-4d08-92e8-01af05c2bacf/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/526583ec-8407-4d08-92e8-01af05c2bacf/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/526583ec-8407-4d08-92e8-01af05c2bacf/volume", "rel": "self"}, {"href": "http://localhost/nodes/526583ec-8407-4d08-92e8-01af05c2bacf/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/526583ec-8407-4d08-92e8-01af05c2bacf/states", "rel": "self"}, {"href": "http://localhost/nodes/526583ec-8407-4d08-92e8-01af05c2bacf/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "updated_at": null, "created_at": "2020-05-04T22:34:40.093288+00:00"} PATCH: /v1/nodes/b02523d0-2432-484d-94a3-5beef9719163 [{'path': '/description', 'value': '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d5cea446-9bbe-4ff5-9c66-3629d0dc7283 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.51 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update node with description exceeding 4096 characters\", \"debuginfo\": null}"} PATCH: /v1/nodes/fc75a4c4-8199-4ceb-8d51-49dd2873b87d [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f8040916-bf0a-4f93-a217-2c337f51aac7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "fc75a4c4-8199-4ceb-8d51-49dd2873b87d", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "deploy failed", "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": "available", "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/fc75a4c4-8199-4ceb-8d51-49dd2873b87d", "rel": "self"}, {"href": "http://localhost/nodes/fc75a4c4-8199-4ceb-8d51-49dd2873b87d", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/fc75a4c4-8199-4ceb-8d51-49dd2873b87d/ports", "rel": "self"}, {"href": "http://localhost/nodes/fc75a4c4-8199-4ceb-8d51-49dd2873b87d/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2020-05-04T22:34:40.425391+00:00"} PATCH: /v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d [{'path': '/raid_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6c2237fd-e5f1-4651-918d-b5daaec7a680 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/ports", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/volume", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/states", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:39.874814+00:00"} PATCH: /v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d [{'path': '/vendor_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e0b9403f-61cf-42e2-9091-87d437a6065d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/ports", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/volume", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/states", "rel": "self"}, {"href": "http://localhost/nodes/eb7d9af4-ea95-4d84-81c0-7652f2dfb70d/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:39.874814+00:00"} PATCH: /v1/nodes/bd164d14-8090-408f-b466-936b35fa9023 [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-24af89ce-53ee-4908-96c6-f9ac07e7f8c4 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "bd164d14-8090-408f-b466-936b35fa9023", "instance_uuid": null, "power_state": null, "target_power_state": "power off", "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": true, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/bd164d14-8090-408f-b466-936b35fa9023", "rel": "self"}, {"href": "http://localhost/nodes/bd164d14-8090-408f-b466-936b35fa9023", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/bd164d14-8090-408f-b466-936b35fa9023/ports", "rel": "self"}, {"href": "http://localhost/nodes/bd164d14-8090-408f-b466-936b35fa9023/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2020-05-04T22:34:40.547819+00:00"} PATCH: /v1/nodes/df43df25-cbc4-40a7-beb3-d8670003623b [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-65a6c05f-5355-41d8-8da5-6159ac4c3da5 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "df43df25-cbc4-40a7-beb3-d8670003623b", "instance_uuid": null, "power_state": null, "target_power_state": "power off", "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/df43df25-cbc4-40a7-beb3-d8670003623b", "rel": "self"}, {"href": "http://localhost/nodes/df43df25-cbc4-40a7-beb3-d8670003623b", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/df43df25-cbc4-40a7-beb3-d8670003623b/ports", "rel": "self"}, {"href": "http://localhost/nodes/df43df25-cbc4-40a7-beb3-d8670003623b/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2020-05-04T22:34:40.721265+00:00"}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_power_transition [0.104746s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_old_api [0.090726s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_by_name_unsupported [0.092637s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group [0.138068s] ... ok PATCH: /v1/nodes/533f9a0c-18d0-43eb-8792-e13f344d81dd [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-01f1257e-a958-4f1a-bf23-54419c2e734a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "533f9a0c-18d0-43eb-8792-e13f344d81dd", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "inspecting", "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": "available", "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/533f9a0c-18d0-43eb-8792-e13f344d81dd", "rel": "self"}, {"href": "http://localhost/nodes/533f9a0c-18d0-43eb-8792-e13f344d81dd", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/533f9a0c-18d0-43eb-8792-e13f344d81dd/ports", "rel": "self"}, {"href": "http://localhost/nodes/533f9a0c-18d0-43eb-8792-e13f344d81dd/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2020-05-04T22:34:40.489380+00:00"} PATCH: /v1/nodes/8a6d143b-57af-4af6-81ec-6cbccc0c8780 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4daa3c4e-2b26-4040-b7fe-331f05455869 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "8a6d143b-57af-4af6-81ec-6cbccc0c8780", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "inspect failed", "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": "available", "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/8a6d143b-57af-4af6-81ec-6cbccc0c8780", "rel": "self"}, {"href": "http://localhost/nodes/8a6d143b-57af-4af6-81ec-6cbccc0c8780", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/8a6d143b-57af-4af6-81ec-6cbccc0c8780/ports", "rel": "self"}, {"href": "http://localhost/nodes/8a6d143b-57af-4af6-81ec-6cbccc0c8780/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2020-05-04T22:34:40.605936+00:00"} PATCH: /v1/nodes/10aba3fe-1345-40bb-9dee-e4b499f2f9ed [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a9a7c3c0-ee60-4be3-9e41-9ce825cca3b7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "10aba3fe-1345-40bb-9dee-e4b499f2f9ed", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "inspecting", "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": "available", "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/10aba3fe-1345-40bb-9dee-e4b499f2f9ed", "rel": "self"}, {"href": "http://localhost/nodes/10aba3fe-1345-40bb-9dee-e4b499f2f9ed", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/10aba3fe-1345-40bb-9dee-e4b499f2f9ed/ports", "rel": "self"}, {"href": "http://localhost/nodes/10aba3fe-1345-40bb-9dee-e4b499f2f9ed/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2020-05-04T22:34:40.705836+00:00"} PATCH: /v1/nodes/11ff290d-6091-44cf-9102-a922e111e003 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-57109762-2f66-47b4-8553-2d3902c2351b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "11ff290d-6091-44cf-9102-a922e111e003", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "clean failed", "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": "available", "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/11ff290d-6091-44cf-9102-a922e111e003", "rel": "self"}, {"href": "http://localhost/nodes/11ff290d-6091-44cf-9102-a922e111e003", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/11ff290d-6091-44cf-9102-a922e111e003/ports", "rel": "self"}, {"href": "http://localhost/nodes/11ff290d-6091-44cf-9102-a922e111e003/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2020-05-04T22:34:40.750596+00:00"} PATCH: /v1/nodes/503d36fd-60cf-4ee8-b8cb-c19c6bf80668 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-398448e1-f84d-411c-8efb-1fbd55d6421c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "503d36fd-60cf-4ee8-b8cb-c19c6bf80668", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "error", "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": "available", "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/503d36fd-60cf-4ee8-b8cb-c19c6bf80668", "rel": "self"}, {"href": "http://localhost/nodes/503d36fd-60cf-4ee8-b8cb-c19c6bf80668", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/503d36fd-60cf-4ee8-b8cb-c19c6bf80668/ports", "rel": "self"}, {"href": "http://localhost/nodes/503d36fd-60cf-4ee8-b8cb-c19c6bf80668/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2020-05-04T22:34:40.824596+00:00"} PATCH: /v1/nodes/ab95bb81-e3c4-48b2-bd76-a1371b0aac18 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-92256461-29e6-4dad-9fc7-0ef98802dd79 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "ab95bb81-e3c4-48b2-bd76-a1371b0aac18", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "verifying", "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": "available", "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/ab95bb81-e3c4-48b2-bd76-a1371b0aac18", "rel": "self"}, {"href": "http://localhost/nodes/ab95bb81-e3c4-48b2-bd76-a1371b0aac18", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/ab95bb81-e3c4-48b2-bd76-a1371b0aac18/ports", "rel": "self"}, {"href": "http://localhost/nodes/ab95bb81-e3c4-48b2-bd76-a1371b0aac18/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2020-05-04T22:34:40.870930+00:00"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_UPDATE_ALLOWED_STATES [0.801455s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group_old_api [0.083504s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_allowed [0.090767s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver [0.077746s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface_old_api [0.069162s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver_info [0.081993s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_not_allowed [0.079115s] ... ok PATCH: /v1/nodes/aead6f01-4cfa-43aa-9fc5-76716c93fb70 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-259a7f93-ab8d-4e5c-8451-738b78739c5a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "aead6f01-4cfa-43aa-9fc5-76716c93fb70", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "adopt failed", "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": "available", "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/aead6f01-4cfa-43aa-9fc5-76716c93fb70", "rel": "self"}, {"href": "http://localhost/nodes/aead6f01-4cfa-43aa-9fc5-76716c93fb70", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/aead6f01-4cfa-43aa-9fc5-76716c93fb70/ports", "rel": "self"}, {"href": "http://localhost/nodes/aead6f01-4cfa-43aa-9fc5-76716c93fb70/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2020-05-04T22:34:40.927215+00:00"} PATCH: /v1/nodes/5d2c542b-e381-43dd-b8cc-e8fd22bc1a5f [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a0b988e0-b876-4e0a-aa8c-1caa8052568f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "5d2c542b-e381-43dd-b8cc-e8fd22bc1a5f", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "rescue failed", "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": "available", "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/5d2c542b-e381-43dd-b8cc-e8fd22bc1a5f", "rel": "self"}, {"href": "http://localhost/nodes/5d2c542b-e381-43dd-b8cc-e8fd22bc1a5f", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/5d2c542b-e381-43dd-b8cc-e8fd22bc1a5f/ports", "rel": "self"}, {"href": "http://localhost/nodes/5d2c542b-e381-43dd-b8cc-e8fd22bc1a5f/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2020-05-04T22:34:41.023997+00:00"} PATCH: /v1/nodes/64c4c226-5f55-45ac-bb9d-2e0f5dd6ae3d [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7ec38458-b1f8-4cfb-a141-1210d5e4ca5d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "64c4c226-5f55-45ac-bb9d-2e0f5dd6ae3d", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "unrescue failed", "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": "available", "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/64c4c226-5f55-45ac-bb9d-2e0f5dd6ae3d", "rel": "self"}, {"href": "http://localhost/nodes/64c4c226-5f55-45ac-bb9d-2e0f5dd6ae3d", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/64c4c226-5f55-45ac-bb9d-2e0f5dd6ae3d/ports", "rel": "self"}, {"href": "http://localhost/nodes/64c4c226-5f55-45ac-bb9d-2e0f5dd6ae3d/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2020-05-04T22:34:41.070250+00:00"} PATCH: /v1/nodes/bf68be5c-0946-4626-ab39-847106488412 [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-da1442b3-21db-4193-a051-3dd5df92fe19 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"uuid": "bf68be5c-0946-4626-ab39-847106488412", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "inspecting", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/bf68be5c-0946-4626-ab39-847106488412", "rel": "self"}, {"href": "http://localhost/nodes/bf68be5c-0946-4626-ab39-847106488412", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/bf68be5c-0946-4626-ab39-847106488412/ports", "rel": "self"}, {"href": "http://localhost/nodes/bf68be5c-0946-4626-ab39-847106488412/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/bf68be5c-0946-4626-ab39-847106488412/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/bf68be5c-0946-4626-ab39-847106488412/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/bf68be5c-0946-4626-ab39-847106488412/volume", "rel": "self"}, {"href": "http://localhost/nodes/bf68be5c-0946-4626-ab39-847106488412/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/bf68be5c-0946-4626-ab39-847106488412/states", "rel": "self"}, {"href": "http://localhost/nodes/bf68be5c-0946-4626-ab39-847106488412/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "updated_at": null, "created_at": "2020-05-04T22:34:41.193100+00:00"} PATCH: /v1/nodes/eed8f898-2f29-47db-b468-e1e0649d7bf5 [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b462d7d0-bf3d-4b2f-b79e-a7e3d0d97fb9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/node-57.1 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0a90c5b3-67c7-4f37-aa38-a990d1f178c3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "name": "node-57.1", "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": "2013-12-03T06:20:41.184720+00:00", "created_at": "2020-05-04T22:34:41.336424+00:00"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name [0.093542s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name_with_json [0.200388s] ... ok PATCH: /v1/nodes/1e23d9df-3a63-4cbe-9776-9fc8ab22de0a [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7c2e7011-d6a9-44e1-a215-43c5dfdc2379 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/node-57.1 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-44899bf9-fb14-4be3-8850-c5725bc15713 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-57.1 could not be found.\", \"debuginfo\": null}"} PATCH: /v1/nodes/599aaede-7664-4f04-90ec-8d29c4e2fc57 [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c9328072-da40-4c31-b08c-a96d279c152c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"uuid": "599aaede-7664-4f04-90ec-8d29c4e2fc57", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/599aaede-7664-4f04-90ec-8d29c4e2fc57", "rel": "self"}, {"href": "http://localhost/nodes/599aaede-7664-4f04-90ec-8d29c4e2fc57", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/599aaede-7664-4f04-90ec-8d29c4e2fc57/ports", "rel": "self"}, {"href": "http://localhost/nodes/599aaede-7664-4f04-90ec-8d29c4e2fc57/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/599aaede-7664-4f04-90ec-8d29c4e2fc57/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/599aaede-7664-4f04-90ec-8d29c4e2fc57/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/599aaede-7664-4f04-90ec-8d29c4e2fc57/volume", "rel": "self"}, {"href": "http://localhost/nodes/599aaede-7664-4f04-90ec-8d29c4e2fc57/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/599aaede-7664-4f04-90ec-8d29c4e2fc57/states", "rel": "self"}, {"href": "http://localhost/nodes/599aaede-7664-4f04-90ec-8d29c4e2fc57/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "updated_at": null, "created_at": "2020-05-04T22:34:40.992430+00:00"} PATCH: /v1/nodes/4e30edf2-b23b-4857-8e79-943fbeb5da58 [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f17df3da-f4e0-414c-b5fc-9c9b624bf188 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} 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-84608bbb-af4f-4360-aed0-db3668f5de1c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fake Error\", \"debuginfo\": null}"} 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-3f3c237a-1631-4f22-aa88-22244740834a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fake Error Message\", \"debuginfo\": null}"} PATCH: /v1/nodes/62e0fcc4-9de9-4615-96c9-4961a562e68d [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-60e4df01-85ce-4c8c-8a53-edfee703cd75 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.39 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update node \\\"62e0fcc4-9de9-4615-96c9-4961a562e68d\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} PATCH: /v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1 [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-48bdb50f-1c86-470b-936e-6362a8f3a213 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "fed8d56c-4308-4551-9b63-7007b6cd24b1", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/ports", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/volume", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/states", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:41.460256+00:00"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_old_api [0.148574s] ... ok PATCH: /v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1 [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0c8e1524-4261-4bd7-b740-c39654c15ed4 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "fed8d56c-4308-4551-9b63-7007b6cd24b1", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/ports", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/volume", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/states", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:41.460256+00:00"} PATCH: /v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1 [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-416dc5d8-bd39-45bc-8faa-3dadbb0a1ed4 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "fed8d56c-4308-4551-9b63-7007b6cd24b1", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/ports", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/volume", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/states", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:41.460256+00:00"} PATCH: /v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c4c9cc65-8a02-4dd2-a0c6-c502fb641a00 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "fed8d56c-4308-4551-9b63-7007b6cd24b1", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/ports", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/volume", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/states", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:41.460256+00:00"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_old_api [0.121807s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_reason [0.095081s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_traits [0.077846s] ... ok PATCH: /v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-23a1d4db-38f7-48e6-9fe9-4806537ce31e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "fed8d56c-4308-4551-9b63-7007b6cd24b1", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/ports", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/volume", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/states", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:41.460256+00:00"} PATCH: /v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1 [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-36107513-2aca-4acf-9b68-e0e7c4bef1fc X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "fed8d56c-4308-4551-9b63-7007b6cd24b1", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/ports", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/volume", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/states", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:41.460256+00:00"} PATCH: /v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1 [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d1b02160-8ac8-4cf4-94f2-1666a987bc57 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "fed8d56c-4308-4551-9b63-7007b6cd24b1", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/ports", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/volume", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/states", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:41.460256+00:00"}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields [0.552155s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields_bad_version [0.278060s] ... ok PATCH: /v1/nodes/node-57.1.json [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a21a0bb5-0157-4fa1-8651-437a867dbb49 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "name": "node-57.1", "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": "2013-12-03T06:20:41.184720+00:00", "created_at": "2020-05-04T22:34:41.451588+00:00"} PATCH: /v1/nodes/5f333591-69bc-4108-b0d6-1923b227b612 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4feeedc6-685e-4878-a85b-e0e27a81f7a1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/882b97e9-d27d-4d29-82a3-b557189e430d [{'path': '/protected', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1a963279-8a04-4a66-9787-676f171349bf X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/26aa195b-dab8-4b06-9ae9-23e6d0ee14ce [{'path': '/protected_reason', 'value': 'reason!', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f42906b0-a908-4b67-b730-67ad02fc09d5 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "26aa195b-dab8-4b06-9ae9-23e6d0ee14ce", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "active", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/26aa195b-dab8-4b06-9ae9-23e6d0ee14ce", "rel": "self"}, {"href": "http://localhost/nodes/26aa195b-dab8-4b06-9ae9-23e6d0ee14ce", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/26aa195b-dab8-4b06-9ae9-23e6d0ee14ce/ports", "rel": "self"}, {"href": "http://localhost/nodes/26aa195b-dab8-4b06-9ae9-23e6d0ee14ce/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/26aa195b-dab8-4b06-9ae9-23e6d0ee14ce/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/26aa195b-dab8-4b06-9ae9-23e6d0ee14ce/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/26aa195b-dab8-4b06-9ae9-23e6d0ee14ce/volume", "rel": "self"}, {"href": "http://localhost/nodes/26aa195b-dab8-4b06-9ae9-23e6d0ee14ce/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/26aa195b-dab8-4b06-9ae9-23e6d0ee14ce/states", "rel": "self"}, {"href": "http://localhost/nodes/26aa195b-dab8-4b06-9ae9-23e6d0ee14ce/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": true, "protected_reason": null, "updated_at": null, "created_at": "2020-05-04T22:34:41.925945+00:00"} PATCH: /v1/nodes/a838a29a-b39a-47e7-93a1-d51fffc7a95c [{'path': '/traits', 'value': ['CUSTOM_1'], 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-122198d4-03e4-4f2f-970d-386d7fed5a8d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update node traits via node patch. Node traits should be updated via the node traits API.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-b340ba05-aedf-4959-8675-8f21b51e0631 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2000-01-01T00:00:00+00:00'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node [0.157131s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_always_in_response [0.208266s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_not_found [0.052777s] ... ok PATCH: /v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-53a03500-634a-49e0-86ba-bedcdf0d3b4c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "fed8d56c-4308-4551-9b63-7007b6cd24b1", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/ports", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/volume", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/states", "rel": "self"}, {"href": "http://localhost/nodes/fed8d56c-4308-4551-9b63-7007b6cd24b1/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:41.460256+00:00"} PATCH: /v1/nodes/559db268-a4c2-469b-8a03-c66c177eb40c [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9f94f2a2-dd49-4b9d-b869-a6c2aa42f3d3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/559db268-a4c2-469b-8a03-c66c177eb40c [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d4396f77-5532-450b-a667-73a9915b8d04 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/559db268-a4c2-469b-8a03-c66c177eb40c [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1f8d83ed-f31b-468f-b440-5e48d3f632fb X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/559db268-a4c2-469b-8a03-c66c177eb40c [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-48b22dfe-ffcc-4b02-8fba-fecf05a30c7f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/559db268-a4c2-469b-8a03-c66c177eb40c [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ea375267-2445-43e7-8a38-2c297ddf5898 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/559db268-a4c2-469b-8a03-c66c177eb40c [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-94944667-0d98-4631-89e4-63d770115dbb X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/559db268-a4c2-469b-8a03-c66c177eb40c [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b0c71b79-6bc3-43ea-a3c5-47244291e84e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/559db268-a4c2-469b-8a03-c66c177eb40c [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f268dd79-eea6-4037-ad46-9f991a2a68cc X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/45b5cded-bb7c-4fa6-b610-2c70ce92ac6d [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1794dc90-836b-4f9a-985b-a6bdf202e6aa X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "45b5cded-bb7c-4fa6-b610-2c70ce92ac6d", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/45b5cded-bb7c-4fa6-b610-2c70ce92ac6d", "rel": "self"}, {"href": "http://localhost/nodes/45b5cded-bb7c-4fa6-b610-2c70ce92ac6d", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/45b5cded-bb7c-4fa6-b610-2c70ce92ac6d/ports", "rel": "self"}, {"href": "http://localhost/nodes/45b5cded-bb7c-4fa6-b610-2c70ce92ac6d/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/45b5cded-bb7c-4fa6-b610-2c70ce92ac6d/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/45b5cded-bb7c-4fa6-b610-2c70ce92ac6d/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/45b5cded-bb7c-4fa6-b610-2c70ce92ac6d/volume", "rel": "self"}, {"href": "http://localhost/nodes/45b5cded-bb7c-4fa6-b610-2c70ce92ac6d/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/45b5cded-bb7c-4fa6-b610-2c70ce92ac6d/states", "rel": "self"}, {"href": "http://localhost/nodes/45b5cded-bb7c-4fa6-b610-2c70ce92ac6d/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:42.318403+00:00"}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface [0.183879s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok [0.172323s] ... ok POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-7e2378aa-0c59-44a6-95cf-c85d4597c477 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2000-01-01T00:00:00+00:00'} POST: /v1/nodes {'uuid': '8e2d2ae9-7e3e-47ad-9aa3-2d5d743a0f2c', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/8e2d2ae9-7e3e-47ad-9aa3-2d5d743a0f2c Openstack-Request-Id: req-1aea7182-2616-448b-854b-a99ac1adea09 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "8e2d2ae9-7e3e-47ad-9aa3-2d5d743a0f2c", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/8e2d2ae9-7e3e-47ad-9aa3-2d5d743a0f2c", "rel": "self"}, {"href": "http://localhost/nodes/8e2d2ae9-7e3e-47ad-9aa3-2d5d743a0f2c", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/8e2d2ae9-7e3e-47ad-9aa3-2d5d743a0f2c/ports", "rel": "self"}, {"href": "http://localhost/nodes/8e2d2ae9-7e3e-47ad-9aa3-2d5d743a0f2c/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/nodes/8e2d2ae9-7e3e-47ad-9aa3-2d5d743a0f2c {} GOT:{'uuid': '8e2d2ae9-7e3e-47ad-9aa3-2d5d743a0f2c', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/8e2d2ae9-7e3e-47ad-9aa3-2d5d743a0f2c', 'rel': 'self'}, {'href': 'http://localhost/nodes/8e2d2ae9-7e3e-47ad-9aa3-2d5d743a0f2c', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/8e2d2ae9-7e3e-47ad-9aa3-2d5d743a0f2c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/8e2d2ae9-7e3e-47ad-9aa3-2d5d743a0f2c/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2000-01-01T00:00:00+00:00'} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a0060b97-1fb6-47fa-bb06-3ee17df7d654 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-0fe21f35-d473-4a8c-a113-09a9e0bda732 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.11 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:42.595657+00:00"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_enroll [0.226836s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner [0.142393s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected [0.085134s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_none [0.186592s] ... ok PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ddd68837-8747-4905-9e97-0e1436a5828b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": "2013-12-03T06:20:41.184720+00:00", "created_at": "2020-05-04T22:34:42.480934+00:00"} PATCH: /v1/nodes/01da4928-b3ca-43c5-8655-672c8d320da3 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2928026c-1524-4aae-b509-3f94505989a2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "01da4928-b3ca-43c5-8655-672c8d320da3", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/01da4928-b3ca-43c5-8655-672c8d320da3", "rel": "self"}, {"href": "http://localhost/nodes/01da4928-b3ca-43c5-8655-672c8d320da3", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/01da4928-b3ca-43c5-8655-672c8d320da3/ports", "rel": "self"}, {"href": "http://localhost/nodes/01da4928-b3ca-43c5-8655-672c8d320da3/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/01da4928-b3ca-43c5-8655-672c8d320da3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/01da4928-b3ca-43c5-8655-672c8d320da3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/01da4928-b3ca-43c5-8655-672c8d320da3/volume", "rel": "self"}, {"href": "http://localhost/nodes/01da4928-b3ca-43c5-8655-672c8d320da3/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/01da4928-b3ca-43c5-8655-672c8d320da3/states", "rel": "self"}, {"href": "http://localhost/nodes/01da4928-b3ca-43c5-8655-672c8d320da3/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "updated_at": null, "created_at": "2020-05-04T22:34:42.647788+00:00"} PATCH: /v1/nodes/ae3e0569-81f1-4832-85e0-57f9eda0899e [{'path': '/protected', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-804bad7d-1af8-4d89-8692-cee94b84a10f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "ae3e0569-81f1-4832-85e0-57f9eda0899e", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "active", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/ae3e0569-81f1-4832-85e0-57f9eda0899e", "rel": "self"}, {"href": "http://localhost/nodes/ae3e0569-81f1-4832-85e0-57f9eda0899e", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/ae3e0569-81f1-4832-85e0-57f9eda0899e/ports", "rel": "self"}, {"href": "http://localhost/nodes/ae3e0569-81f1-4832-85e0-57f9eda0899e/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ae3e0569-81f1-4832-85e0-57f9eda0899e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ae3e0569-81f1-4832-85e0-57f9eda0899e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ae3e0569-81f1-4832-85e0-57f9eda0899e/volume", "rel": "self"}, {"href": "http://localhost/nodes/ae3e0569-81f1-4832-85e0-57f9eda0899e/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ae3e0569-81f1-4832-85e0-57f9eda0899e/states", "rel": "self"}, {"href": "http://localhost/nodes/ae3e0569-81f1-4832-85e0-57f9eda0899e/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "updated_at": null, "created_at": "2020-05-04T22:34:42.786803+00:00"} PATCH: /v1/nodes/350e8463-d3d5-4163-9981-955d1002e8e3 [{'path': '/protected', 'value': True, 'op': 'replace'}, {'path': '/protected_reason', 'value': 'reason!', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-df00cda4-5f94-4d8e-8687-ed3b7c52edc8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "350e8463-d3d5-4163-9981-955d1002e8e3", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "active", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/350e8463-d3d5-4163-9981-955d1002e8e3", "rel": "self"}, {"href": "http://localhost/nodes/350e8463-d3d5-4163-9981-955d1002e8e3", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/350e8463-d3d5-4163-9981-955d1002e8e3/ports", "rel": "self"}, {"href": "http://localhost/nodes/350e8463-d3d5-4163-9981-955d1002e8e3/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/350e8463-d3d5-4163-9981-955d1002e8e3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/350e8463-d3d5-4163-9981-955d1002e8e3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/350e8463-d3d5-4163-9981-955d1002e8e3/volume", "rel": "self"}, {"href": "http://localhost/nodes/350e8463-d3d5-4163-9981-955d1002e8e3/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/350e8463-d3d5-4163-9981-955d1002e8e3/states", "rel": "self"}, {"href": "http://localhost/nodes/350e8463-d3d5-4163-9981-955d1002e8e3/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "updated_at": null, "created_at": "2020-05-04T22:34:42.873607+00:00"}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_with_reason [0.088250s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class [0.174672s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:42.595657+00:00'} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-b5780a95-db7b-4e16-b05d-0554290e918d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:42.801474+00:00"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:42.801474+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:42.801474+00:00'} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'description': 'useful stuff', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-a09fe570-4ae5-433d-86ff-625935da9d2b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "boot_interface": "fake", "console_interface": "fake", "deploy_interface": "fake", "inspect_interface": "fake", "management_interface": "fake", "network_interface": "flat", "power_interface": "fake", "raid_interface": "fake", "rescue_interface": "fake", "storage_interface": "noop", "vendor_interface": "fake", "traits": [], "bios_interface": "fake", "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": "useful stuff", "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:42.964664+00:00"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description [0.184696s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description_oversize [0.131417s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_max_length [0.133437s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_old_api [0.072336s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_too_long [0.082617s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_state [0.071568s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': 'fake', 'console_interface': 'fake', 'deploy_interface': 'fake', 'inspect_interface': 'fake', 'management_interface': 'fake', 'network_interface': 'flat', 'power_interface': 'fake', 'raid_interface': 'fake', 'rescue_interface': 'fake', 'storage_interface': 'noop', 'vendor_interface': 'fake', 'traits': [], 'bios_interface': 'fake', 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': None, 'owner': None, 'description': 'useful stuff', 'allocation_uuid': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:42.964664+00:00'} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'description': '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b3628768-2056-454e-9b38-d7166d1d575c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create node with description exceeding 4096 characters\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {'foo': 123}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-c24490be-a930-42e5-9543-52b296ce36e0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {"foo": 123}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:43.289084+00:00"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_doesnt_contain_id [0.174207s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_network_interface [0.156257s] ... ok PATCH: /v1/nodes/9c216e7d-e595-4749-a44a-2692cc7bad43 [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-42948c1e-6730-48ba-bbfc-1bf252af1100 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "9c216e7d-e595-4749-a44a-2692cc7bad43", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/9c216e7d-e595-4749-a44a-2692cc7bad43", "rel": "self"}, {"href": "http://localhost/nodes/9c216e7d-e595-4749-a44a-2692cc7bad43", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/9c216e7d-e595-4749-a44a-2692cc7bad43/ports", "rel": "self"}, {"href": "http://localhost/nodes/9c216e7d-e595-4749-a44a-2692cc7bad43/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9c216e7d-e595-4749-a44a-2692cc7bad43/states", "rel": "self"}, {"href": "http://localhost/nodes/9c216e7d-e595-4749-a44a-2692cc7bad43/states", "rel": "bookmark"}], "network_interface": null, "updated_at": null, "created_at": "2020-05-04T22:34:42.990714+00:00"} PATCH: /v1/nodes/f74b117b-4e9b-4c59-b43a-5b905efcecc1 [{'path': '/resource_class', 'value': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0dc12e20-7912-4b1a-805d-694bfd8ce0a3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "f74b117b-4e9b-4c59-b43a-5b905efcecc1", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/f74b117b-4e9b-4c59-b43a-5b905efcecc1", "rel": "self"}, {"href": "http://localhost/nodes/f74b117b-4e9b-4c59-b43a-5b905efcecc1", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/f74b117b-4e9b-4c59-b43a-5b905efcecc1/ports", "rel": "self"}, {"href": "http://localhost/nodes/f74b117b-4e9b-4c59-b43a-5b905efcecc1/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f74b117b-4e9b-4c59-b43a-5b905efcecc1/states", "rel": "self"}, {"href": "http://localhost/nodes/f74b117b-4e9b-4c59-b43a-5b905efcecc1/states", "rel": "bookmark"}], "network_interface": null, "updated_at": null, "created_at": "2020-05-04T22:34:43.152770+00:00"} PATCH: /v1/nodes/3fac2eca-4760-4c8b-939e-b51ca9d602b1 [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cb0aa2c7-f711-4371-979b-5d31876f2af8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/b7958a65-5052-4194-ba33-4b0513bdfd79 [{'path': '/resource_class', 'value': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-751fc337-8364-4e8b-b92f-116dd1c53d44 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute resource_class. Value: 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff'. Value should have a maximum character requirement of 80\", \"debuginfo\": null}"} 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-bd4fe458-03a3-4a07-a752-16f269382fef X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unknown attribute for argument patch: power_state\", \"debuginfo\": null}"} PATCH: /v1/nodes/fffa0512-d484-4cdb-816f-2f8d19a08bf3 [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-80307267-a316-4779-84fb-08898879f315 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "fffa0512-d484-4cdb-816f-2f8d19a08bf3", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/fffa0512-d484-4cdb-816f-2f8d19a08bf3", "rel": "self"}, {"href": "http://localhost/nodes/fffa0512-d484-4cdb-816f-2f8d19a08bf3", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/fffa0512-d484-4cdb-816f-2f8d19a08bf3/ports", "rel": "self"}, {"href": "http://localhost/nodes/fffa0512-d484-4cdb-816f-2f8d19a08bf3/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/fffa0512-d484-4cdb-816f-2f8d19a08bf3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/fffa0512-d484-4cdb-816f-2f8d19a08bf3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/fffa0512-d484-4cdb-816f-2f8d19a08bf3/volume", "rel": "self"}, {"href": "http://localhost/nodes/fffa0512-d484-4cdb-816f-2f8d19a08bf3/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/fffa0512-d484-4cdb-816f-2f8d19a08bf3/states", "rel": "self"}, {"href": "http://localhost/nodes/fffa0512-d484-4cdb-816f-2f8d19a08bf3/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:43.539415+00:00"}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface [0.143986s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface_old_api [0.136961s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_with_reset_interfaces [0.171471s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {'foo': 123}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:43.289084+00:00'} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'network_interface': 'neutron', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-1c720499-3a99-4b13-80b7-cd27de864aca X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.20 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "network_interface": "neutron", "updated_at": null, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'network_interface': 'neutron', 'updated_at': None, 'created_at': '2000-01-01T00:00:00+00:00'} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'resource_class': 'class2', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-33420b7a-2c1d-4a1a-99b9-f7e811017ff3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": "class2", "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "network_interface": "flat", "updated_at": null, "created_at": "2020-05-04T22:34:43.613903+00:00"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': 'class2', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'network_interface': 'flat', 'updated_at': None, 'created_at': '2020-05-04T22:34:43.613903+00:00'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_resource_class [0.126142s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_network_interface [0.118797s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_storage_interface [0.149224s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface [0.163464s] ... ok PATCH: /v1/nodes/05f53c80-71b4-4185-b0a3-b4441bbff864 [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9f32ea6a-13ad-4e7d-bbf7-90b56e277508 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?reset_interfaces=True [{'path': '/driver', 'value': 'ipmi', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-9361f786-d224-4e51-9c8e-09cc295a0f59 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "name": "node-57.1", "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "available", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {"private_state": "secret value"}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "boot_interface": null, "console_interface": null, "deploy_interface": null, "inspect_interface": null, "management_interface": null, "network_interface": null, "power_interface": null, "raid_interface": null, "rescue_interface": null, "storage_interface": null, "vendor_interface": null, "traits": [], "bios_interface": null, "updated_at": "2013-12-03T06:20:41.184720+00:00", "created_at": "2020-05-04T22:34:43.784908+00:00"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'automated_clean': True, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-fbf58e05-aa27-4673-9b99-7ffb70b3b641 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "boot_interface": "fake", "console_interface": "fake", "deploy_interface": "fake", "inspect_interface": "fake", "management_interface": "fake", "network_interface": "flat", "power_interface": "fake", "raid_interface": "fake", "rescue_interface": "fake", "storage_interface": "noop", "vendor_interface": "fake", "traits": [], "bios_interface": "fake", "conductor_group": "", "automated_clean": true, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:44.022010+00:00"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': 'fake', 'console_interface': 'fake', 'deploy_interface': 'fake', 'inspect_interface': 'fake', 'management_interface': 'fake', 'network_interface': 'flat', 'power_interface': 'fake', 'raid_interface': 'fake', 'rescue_interface': 'fake', 'storage_interface': 'noop', 'vendor_interface': 'fake', 'traits': [], 'bios_interface': 'fake', 'conductor_group': '', 'automated_clean': True, 'protected': False, 'protected_reason': None, 'conductor': None, 'owner': None, 'description': None, 'allocation_uuid': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:44.022010+00:00'}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean [0.174094s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean_old_api_version [0.091808s] ... ok POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'network_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6a8844c3-520b-415a-90fe-ba9563b75ee3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.network' entrypoint: foo. Valid interfaces are ['flat', 'neutron', 'noop'].\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'storage_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d29ac3af-09bd-430c-9b88-d526abcbfedf X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.storage' entrypoint: foo. Valid interfaces are ['fake', 'noop'].\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-2e72cb35-d745-46c4-b2ae-ecf1e67b464b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "boot_interface": "fake", "console_interface": "fake", "deploy_interface": "fake", "inspect_interface": "fake", "management_interface": "fake", "network_interface": "flat", "power_interface": "fake", "raid_interface": "fake", "rescue_interface": "fake", "storage_interface": "noop", "vendor_interface": "fake", "traits": [], "bios_interface": "fake", "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:44.043316+00:00"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': 'fake', 'console_interface': 'fake', 'deploy_interface': 'fake', 'inspect_interface': 'fake', 'management_interface': 'fake', 'network_interface': 'flat', 'power_interface': 'fake', 'raid_interface': 'fake', 'rescue_interface': 'fake', 'storage_interface': 'noop', 'vendor_interface': 'fake', 'traits': [], 'bios_interface': 'fake', 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': None, 'owner': None, 'description': None, 'allocation_uuid': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:44.043316+00:00'} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface_old_api_version [0.086293s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_mandatory_field_driver [0.099995s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class_old_api_version [0.100736s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_storage_interface [0.253285s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_bios_interface [0.059957s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_chassis [0.049304s] ... ok POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'automated_clean': True, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-150d3d5a-2058-47e2-8c1b-db9c95c56a27 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'storage_interface': 'cinder', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-a89dcaaa-d46b-4796-97fb-80b462681886 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "boot_interface": "fake", "console_interface": "fake", "deploy_interface": "fake", "inspect_interface": "fake", "management_interface": "fake", "network_interface": "flat", "power_interface": "fake", "raid_interface": "fake", "storage_interface": "cinder", "vendor_interface": "fake", "updated_at": null, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': 'fake', 'console_interface': 'fake', 'deploy_interface': 'fake', 'inspect_interface': 'fake', 'management_interface': 'fake', 'network_interface': 'flat', 'power_interface': 'fake', 'raid_interface': 'fake', 'storage_interface': 'cinder', 'vendor_interface': 'fake', 'updated_at': None, 'created_at': '2000-01-01T00:00:00+00:00'} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'bios_interface': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b3b3c9f1-c190-4100-94b5-108c85335906 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Could not find the following interface in the 'ironic.hardware.interfaces.bios' entrypoint: foo. Valid interfaces are ['fake', 'no-bios'].\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-43e99958-b039-4b52-8e75-8c33070a4a51 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received 0.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_driver [0.072700s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_invalid [0.106982s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_not_acceptable [0.099302s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_chassis_uuid [0.153450s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-531b455f-4f43-4632-9f0b-d46235577ae0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-706aeb7f-2dd0-47d4-9cd2-2bc448b1553d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute driver. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'resource_class': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3d63d5c7-020a-487a-8f39-f9567cf7e1e2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': 'c6b6dc31-a500-434e-8291-ff43860f3c7c', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'boot_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c Openstack-Request-Id: req-78e38e6e-8282-43d0-99ad-a483f6d00e6d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "c6b6dc31-a500-434e-8291-ff43860f3c7c", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c", "rel": "self"}, {"href": "http://localhost/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c/ports", "rel": "self"}, {"href": "http://localhost/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c/volume", "rel": "self"}, {"href": "http://localhost/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c/states", "rel": "self"}, {"href": "http://localhost/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c/states", "rel": "bookmark"}], "boot_interface": "fake", "console_interface": "fake", "deploy_interface": "fake", "inspect_interface": "fake", "management_interface": "fake", "network_interface": "flat", "power_interface": "fake", "raid_interface": "fake", "rescue_interface": "fake", "storage_interface": "noop", "vendor_interface": "fake", "traits": [], "bios_interface": "fake", "updated_at": null, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c {} GOT:{'uuid': 'c6b6dc31-a500-434e-8291-ff43860f3c7c', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c', 'rel': 'self'}, {'href': 'http://localhost/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/c6b6dc31-a500-434e-8291-ff43860f3c7c/states', 'rel': 'bookmark'}], 'boot_interface': 'fake', 'console_interface': 'fake', 'deploy_interface': 'fake', 'inspect_interface': 'fake', 'management_interface': 'fake', 'network_interface': 'flat', 'power_interface': 'fake', 'raid_interface': 'fake', 'rescue_interface': 'fake', 'storage_interface': 'noop', 'vendor_interface': 'fake', 'traits': [], 'bios_interface': 'fake', 'updated_at': None, 'created_at': '2000-01-01T00:00:00+00:00'} POST: /v1/nodes {'uuid': 'd5b571e2-4982-470d-8cce-a6d39c88d0dc', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'console_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc Openstack-Request-Id: req-37230037-cf8a-414b-a665-b16dcc84678c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "d5b571e2-4982-470d-8cce-a6d39c88d0dc", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc", "rel": "self"}, {"href": "http://localhost/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc/ports", "rel": "self"}, {"href": "http://localhost/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc/volume", "rel": "self"}, {"href": "http://localhost/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc/states", "rel": "self"}, {"href": "http://localhost/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc/states", "rel": "bookmark"}], "boot_interface": "fake", "console_interface": "fake", "deploy_interface": "fake", "inspect_interface": "fake", "management_interface": "fake", "network_interface": "flat", "power_interface": "fake", "raid_interface": "fake", "rescue_interface": "fake", "storage_interface": "noop", "vendor_interface": "fake", "traits": [], "bios_interface": "fake", "updated_at": null, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc {} GOT:{'uuid': 'd5b571e2-4982-470d-8cce-a6d39c88d0dc', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc', 'rel': 'self'}, {'href': 'http://localhost/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/d5b571e2-4982-470d-8cce-a6d39c88d0dc/states', 'rel': 'bookmark'}], 'boot_interface': 'fake', 'console_interface': 'fake', 'deploy_interface': 'fake', 'inspect_interface': 'fake', 'management_interface': 'fake', 'network_interface': 'flat', 'power_interface': 'fake', 'raid_interface': 'fake', 'rescue_interface': 'fake', 'storage_interface': 'noop', 'vendor_interface': 'fake', 'traits': [], 'bios_interface': 'fake', 'updated_at': None, 'created_at': '2000-01-01T00:00:00+00:00'} POST: /v1/nodes {'uuid': '762f050b-13a1-4985-8cf1-bbe0944fc218', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'deploy_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218 Openstack-Request-Id: req-c78b8f79-2fa6-4527-b403-c8cb71c1c314 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "762f050b-13a1-4985-8cf1-bbe0944fc218", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218", "rel": "self"}, {"href": "http://localhost/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218/ports", "rel": "self"}, {"href": "http://localhost/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218/volume", "rel": "self"}, {"href": "http://localhost/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218/states", "rel": "self"}, {"href": "http://localhost/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218/states", "rel": "bookmark"}], "boot_interface": "fake", "console_interface": "fake", "deploy_interface": "fake", "inspect_interface": "fake", "management_interface": "fake", "network_interface": "flat", "power_interface": "fake", "raid_interface": "fake", "rescue_interface": "fake", "storage_interface": "noop", "vendor_interface": "fake", "traits": [], "bios_interface": "fake", "updated_at": null, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218 {} GOT:{'uuid': '762f050b-13a1-4985-8cf1-bbe0944fc218', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218', 'rel': 'self'}, {'href': 'http://localhost/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/762f050b-13a1-4985-8cf1-bbe0944fc218/states', 'rel': 'bookmark'}], 'boot_interface': 'fake', 'console_interface': 'fake', 'deploy_interface': 'fake', 'inspect_interface': 'fake', 'management_interface': 'fake', 'network_interface': 'flat', 'power_interface': 'fake', 'raid_interface': 'fake', 'rescue_interface': 'fake', 'storage_interface': 'noop', 'vendor_interface': 'fake', 'traits': [], 'bios_interface': 'fake', 'updated_at': None, 'created_at': '2000-01-01T00:00:00+00:00'} POST: /v1/nodes {'uuid': '547413d9-2e1a-484a-b276-08572312ffc1', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'inspect_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_default_resource_class [0.140163s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-20cdd856-9631-424a-b766-79bfe1114bd6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Fake Error\", \"debuginfo\": null}"} POST: /v1/nodes {'name': '', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ef2a681e-97e1-40d3-b05e-46f8a25b5a55 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create node with invalid name ''\", \"debuginfo\": null}"} POST: /v1/nodes {'name': '', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d9bbc0e3-fca3-4657-ab5e-257668560418 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-da9be0f7-06dc-45f3-b7bd-8966ec1ae5d5 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": null, "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:44.973570+00:00"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-7ee4361a-63f1-4053-8305-9c73bb20ce02 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:45.066913+00:00"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'network_interface': 'flat', 'updated_at': None, 'created_at': '2020-05-04T22:34:45.066913+00:00'} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'owner': 'cowsay', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-90c56671-f1e1-4db8-9690-cc358d1a870e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "boot_interface": "fake", "console_interface": "fake", "deploy_interface": "fake", "inspect_interface": "fake", "management_interface": "fake", "network_interface": "flat", "power_interface": "fake", "raid_interface": "fake", "rescue_interface": "fake", "storage_interface": "noop", "vendor_interface": "fake", "traits": [], "bios_interface": "fake", "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": "cowsay", "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:45.193940+00:00"}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner [0.193222s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_old_api_version [0.095746s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_protected_not_allowed [0.107514s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': 'fake', 'console_interface': 'fake', 'deploy_interface': 'fake', 'inspect_interface': 'fake', 'management_interface': 'fake', 'network_interface': 'flat', 'power_interface': 'fake', 'raid_interface': 'fake', 'rescue_interface': 'fake', 'storage_interface': 'noop', 'vendor_interface': 'fake', 'traits': [], 'bios_interface': 'fake', 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': None, 'owner': 'cowsay', 'description': None, 'allocation_uuid': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:45.193940+00:00'} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'owner': 'bob', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e4021b65-9c98-453c-ad87-58f17c060c65 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'protected': True, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a27b819d-1273-4248-b308-86719580db37 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot specify protected or protected_reason on node creation. These fields can only be set for active nodes\", \"debuginfo\": null}"} POST: /v1/nodes {'name': 'maintenance', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-596bab2f-a907-4218-ba50-ac028e669326 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"maintenance\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} POST: /v1/nodes {'name': 'management', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-293bb414-5c3f-4a95-9cc3-516bea240a75 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"management\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} POST: /v1/nodes {'name': 'states', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ba7fcf41-0e50-42b8-b6bd-2c87cf149e38 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"states\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} POST: /v1/nodes {'name': 'vendor_passthru', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c67d68b2-4f93-42ac-878b-80aa187a8a3a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"vendor_passthru\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_reserved_name [0.310055s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class [0.238223s] ... ok POST: /v1/nodes {'name': 'detail', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f91db99b-687e-4f26-98b5-bd769a11279c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"detail\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} POST: /v1/nodes {'name': 'validate', 'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e7e32424-740b-4b0f-9107-0615ab5aa48e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.10 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The word \\\"validate\\\" is reserved and can not be used as a node name. Reserved words are: maintenance, management, states, vendor_passthru, detail, validate.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'resource_class': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-72f9cbff-ebf2-4fe9-940c-5241cc4804d9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": "foo", "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "boot_interface": "fake", "console_interface": "fake", "deploy_interface": "fake", "inspect_interface": "fake", "management_interface": "fake", "network_interface": "flat", "power_interface": "fake", "raid_interface": "fake", "rescue_interface": "fake", "storage_interface": "noop", "vendor_interface": "fake", "traits": [], "bios_interface": "fake", "conductor_group": "", "automated_clean": null, "protected": false, "protected_reason": null, "conductor": null, "owner": null, "description": null, "allocation_uuid": null, "updated_at": null, "created_at": "2020-05-04T22:34:45.948494+00:00"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': 'foo', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': 'fake', 'console_interface': 'fake', 'deploy_interface': 'fake', 'inspect_interface': 'fake', 'management_interface': 'fake', 'network_interface': 'flat', 'power_interface': 'fake', 'raid_interface': 'fake', 'rescue_interface': 'fake', 'storage_interface': 'noop', 'vendor_interface': 'fake', 'traits': [], 'bios_interface': 'fake', 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': None, 'owner': None, 'description': None, 'allocation_uuid': None, 'updated_at': None, 'created_at': '2020-05-04T22:34:45.948494+00:00'} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'conductor_group': 'foo', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group [0.274666s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group_bad_version [0.092909s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/547413d9-2e1a-484a-b276-08572312ffc1 Openstack-Request-Id: req-29ce6786-633c-46fa-873d-51df328f7e5e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "547413d9-2e1a-484a-b276-08572312ffc1", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/547413d9-2e1a-484a-b276-08572312ffc1", "rel": "self"}, {"href": "http://localhost/nodes/547413d9-2e1a-484a-b276-08572312ffc1", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/547413d9-2e1a-484a-b276-08572312ffc1/ports", "rel": "self"}, {"href": "http://localhost/nodes/547413d9-2e1a-484a-b276-08572312ffc1/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/547413d9-2e1a-484a-b276-08572312ffc1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/547413d9-2e1a-484a-b276-08572312ffc1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/547413d9-2e1a-484a-b276-08572312ffc1/volume", "rel": "self"}, {"href": "http://localhost/nodes/547413d9-2e1a-484a-b276-08572312ffc1/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/547413d9-2e1a-484a-b276-08572312ffc1/states", "rel": "self"}, {"href": "http://localhost/nodes/547413d9-2e1a-484a-b276-08572312ffc1/states", "rel": "bookmark"}], "boot_interface": "fake", "console_interface": "fake", "deploy_interface": "fake", "inspect_interface": "fake", "management_interface": "fake", "network_interface": "flat", "power_interface": "fake", "raid_interface": "fake", "rescue_interface": "fake", "storage_interface": "noop", "vendor_interface": "fake", "traits": [], "bios_interface": "fake", "updated_at": null, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/nodes/547413d9-2e1a-484a-b276-08572312ffc1 {} GOT:{'uuid': '547413d9-2e1a-484a-b276-08572312ffc1', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/547413d9-2e1a-484a-b276-08572312ffc1', 'rel': 'self'}, {'href': 'http://localhost/nodes/547413d9-2e1a-484a-b276-08572312ffc1', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/547413d9-2e1a-484a-b276-08572312ffc1/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/547413d9-2e1a-484a-b276-08572312ffc1/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/547413d9-2e1a-484a-b276-08572312ffc1/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/547413d9-2e1a-484a-b276-08572312ffc1/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/547413d9-2e1a-484a-b276-08572312ffc1/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/547413d9-2e1a-484a-b276-08572312ffc1/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/547413d9-2e1a-484a-b276-08572312ffc1/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/547413d9-2e1a-484a-b276-08572312ffc1/states', 'rel': 'bookmark'}], 'boot_interface': 'fake', 'console_interface': 'fake', 'deploy_interface': 'fake', 'inspect_interface': 'fake', 'management_interface': 'fake', 'network_interface': 'flat', 'power_interface': 'fake', 'raid_interface': 'fake', 'rescue_interface': 'fake', 'storage_interface': 'noop', 'vendor_interface': 'fake', 'traits': [], 'bios_interface': 'fake', 'updated_at': None, 'created_at': '2000-01-01T00:00:00+00:00'} POST: /v1/nodes {'uuid': '3c8024ac-9f84-4889-b872-254f58e7200e', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'management_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/3c8024ac-9f84-4889-b872-254f58e7200e Openstack-Request-Id: req-0359e708-c687-4d1e-a5fb-fd6988cf613d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "3c8024ac-9f84-4889-b872-254f58e7200e", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/3c8024ac-9f84-4889-b872-254f58e7200e", "rel": "self"}, {"href": "http://localhost/nodes/3c8024ac-9f84-4889-b872-254f58e7200e", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/3c8024ac-9f84-4889-b872-254f58e7200e/ports", "rel": "self"}, {"href": "http://localhost/nodes/3c8024ac-9f84-4889-b872-254f58e7200e/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3c8024ac-9f84-4889-b872-254f58e7200e/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3c8024ac-9f84-4889-b872-254f58e7200e/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3c8024ac-9f84-4889-b872-254f58e7200e/volume", "rel": "self"}, {"href": "http://localhost/nodes/3c8024ac-9f84-4889-b872-254f58e7200e/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3c8024ac-9f84-4889-b872-254f58e7200e/states", "rel": "self"}, {"href": "http://localhost/nodes/3c8024ac-9f84-4889-b872-254f58e7200e/states", "rel": "bookmark"}], "boot_interface": "fake", "console_interface": "fake", "deploy_interface": "fake", "inspect_interface": "fake", "management_interface": "fake", "network_interface": "flat", "power_interface": "fake", "raid_interface": "fake", "rescue_interface": "fake", "storage_interface": "noop", "vendor_interface": "fake", "traits": [], "bios_interface": "fake", "updated_at": null, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/nodes/3c8024ac-9f84-4889-b872-254f58e7200e {} GOT:{'uuid': '3c8024ac-9f84-4889-b872-254f58e7200e', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/3c8024ac-9f84-4889-b872-254f58e7200e', 'rel': 'self'}, {'href': 'http://localhost/nodes/3c8024ac-9f84-4889-b872-254f58e7200e', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/3c8024ac-9f84-4889-b872-254f58e7200e/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3c8024ac-9f84-4889-b872-254f58e7200e/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3c8024ac-9f84-4889-b872-254f58e7200e/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3c8024ac-9f84-4889-b872-254f58e7200e/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3c8024ac-9f84-4889-b872-254f58e7200e/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3c8024ac-9f84-4889-b872-254f58e7200e/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3c8024ac-9f84-4889-b872-254f58e7200e/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3c8024ac-9f84-4889-b872-254f58e7200e/states', 'rel': 'bookmark'}], 'boot_interface': 'fake', 'console_interface': 'fake', 'deploy_interface': 'fake', 'inspect_interface': 'fake', 'management_interface': 'fake', 'network_interface': 'flat', 'power_interface': 'fake', 'raid_interface': 'fake', 'rescue_interface': 'fake', 'storage_interface': 'noop', 'vendor_interface': 'fake', 'traits': [], 'bios_interface': 'fake', 'updated_at': None, 'created_at': '2000-01-01T00:00:00+00:00'} POST: /v1/nodes {'uuid': '77cdcc46-5120-4898-b83e-c0d435a56714', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'power_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/77cdcc46-5120-4898-b83e-c0d435a56714 Openstack-Request-Id: req-5d0d7b6e-b03d-483d-9e73-1267e5675cae X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "77cdcc46-5120-4898-b83e-c0d435a56714", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/77cdcc46-5120-4898-b83e-c0d435a56714", "rel": "self"}, {"href": "http://localhost/nodes/77cdcc46-5120-4898-b83e-c0d435a56714", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/77cdcc46-5120-4898-b83e-c0d435a56714/ports", "rel": "self"}, {"href": "http://localhost/nodes/77cdcc46-5120-4898-b83e-c0d435a56714/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/77cdcc46-5120-4898-b83e-c0d435a56714/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/77cdcc46-5120-4898-b83e-c0d435a56714/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/77cdcc46-5120-4898-b83e-c0d435a56714/volume", "rel": "self"}, {"href": "http://localhost/nodes/77cdcc46-5120-4898-b83e-c0d435a56714/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/77cdcc46-5120-4898-b83e-c0d435a56714/states", "rel": "self"}, {"href": "http://localhost/nodes/77cdcc46-5120-4898-b83e-c0d435a56714/states", "rel": "bookmark"}], "boot_interface": "fake", "console_interface": "fake", "deploy_interface": "fake", "inspect_interface": "fake", "management_interface": "fake", "network_interface": "flat", "power_interface": "fake", "raid_interface": "fake", "rescue_interface": "fake", "storage_interface": "noop", "vendor_interface": "fake", "traits": [], "bios_interface": "fake", "updated_at": null, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/nodes/77cdcc46-5120-4898-b83e-c0d435a56714 {} GOT:{'uuid': '77cdcc46-5120-4898-b83e-c0d435a56714', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/77cdcc46-5120-4898-b83e-c0d435a56714', 'rel': 'self'}, {'href': 'http://localhost/nodes/77cdcc46-5120-4898-b83e-c0d435a56714', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/77cdcc46-5120-4898-b83e-c0d435a56714/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/77cdcc46-5120-4898-b83e-c0d435a56714/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/77cdcc46-5120-4898-b83e-c0d435a56714/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/77cdcc46-5120-4898-b83e-c0d435a56714/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/77cdcc46-5120-4898-b83e-c0d435a56714/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/77cdcc46-5120-4898-b83e-c0d435a56714/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/77cdcc46-5120-4898-b83e-c0d435a56714/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/77cdcc46-5120-4898-b83e-c0d435a56714/states', 'rel': 'bookmark'}], 'boot_interface': 'fake', 'console_interface': 'fake', 'deploy_interface': 'fake', 'inspect_interface': 'fake', 'management_interface': 'fake', 'network_interface': 'flat', 'power_interface': 'fake', 'raid_interface': 'fake', 'rescue_interface': 'fake', 'storage_interface': 'noop', 'vendor_interface': 'fake', 'traits': [], 'bios_interface': 'fake', 'updated_at': None, 'created_at': '2000-01-01T00:00:00+00:00'} POST: /v1/nodes {'uuid': '629a07b9-36b1-402e-abfc-ced1d7774518', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'raid_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/629a07b9-36b1-402e-abfc-ced1d7774518 Openstack-Request-Id: req-f7cfc7de-bcc8-4ea8-9e97-d109b2fc37a0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "629a07b9-36b1-402e-abfc-ced1d7774518", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/629a07b9-36b1-402e-abfc-ced1d7774518", "rel": "self"}, {"href": "http://localhost/nodes/629a07b9-36b1-402e-abfc-ced1d7774518", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/629a07b9-36b1-402e-abfc-ced1d7774518/ports", "rel": "self"}, {"href": "http://localhost/nodes/629a07b9-36b1-402e-abfc-ced1d7774518/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/629a07b9-36b1-402e-abfc-ced1d7774518/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/629a07b9-36b1-402e-abfc-ced1d7774518/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/629a07b9-36b1-402e-abfc-ced1d7774518/volume", "rel": "self"}, {"href": "http://localhost/nodes/629a07b9-36b1-402e-abfc-ced1d7774518/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/629a07b9-36b1-402e-abfc-ced1d7774518/states", "rel": "self"}, {"href": "http://localhost/nodes/629a07b9-36b1-402e-abfc-ced1d7774518/states", "rel": "bookmark"}], "boot_interface": "fake", "console_interface": "fake", "deploy_interface": "fake", "inspect_interface": "fake", "management_interface": "fake", "network_interface": "flat", "power_interface": "fake", "raid_interface": "fake", "rescue_interface": "fake", "storage_interface": "noop", "vendor_interface": "fake", "traits": [], "bios_interface": "fake", "updated_at": null, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/nodes/629a07b9-36b1-402e-abfc-ced1d7774518 {} GOT:{'uuid': '629a07b9-36b1-402e-abfc-ced1d7774518', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/629a07b9-36b1-402e-abfc-ced1d7774518', 'rel': 'self'}, {'href': 'http://localhost/nodes/629a07b9-36b1-402e-abfc-ced1d7774518', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/629a07b9-36b1-402e-abfc-ced1d7774518/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/629a07b9-36b1-402e-abfc-ced1d7774518/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/629a07b9-36b1-402e-abfc-ced1d7774518/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/629a07b9-36b1-402e-abfc-ced1d7774518/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/629a07b9-36b1-402e-abfc-ced1d7774518/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/629a07b9-36b1-402e-abfc-ced1d7774518/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/629a07b9-36b1-402e-abfc-ced1d7774518/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/629a07b9-36b1-402e-abfc-ced1d7774518/states', 'rel': 'bookmark'}], 'boot_interface': 'fake', 'console_interface': 'fake', 'deploy_interface': 'fake', 'inspect_interface': 'fake', 'management_interface': 'fake', 'network_interface': 'flat', 'power_interface': 'fake', 'raid_interface': 'fake', 'rescue_interface': 'fake', 'storage_interface': 'noop', 'vendor_interface': 'fake', 'traits': [], 'bios_interface': 'fake', 'updated_at': None, 'created_at': '2000-01-01T00:00:00+00:00'} POST: /v1/nodes {'uuid': '5da5c853-145d-4f35-b32c-c244365c55e2', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'vendor_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/5da5c853-145d-4f35-b32c-c244365c55e2 Openstack-Request-Id: req-b39200ef-b6d5-451a-a341-d2d28d1aee13 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "5da5c853-145d-4f35-b32c-c244365c55e2", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/5da5c853-145d-4f35-b32c-c244365c55e2", "rel": "self"}, {"href": "http://localhost/nodes/5da5c853-145d-4f35-b32c-c244365c55e2", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/5da5c853-145d-4f35-b32c-c244365c55e2/ports", "rel": "self"}, {"href": "http://localhost/nodes/5da5c853-145d-4f35-b32c-c244365c55e2/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/5da5c853-145d-4f35-b32c-c244365c55e2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/5da5c853-145d-4f35-b32c-c244365c55e2/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/5da5c853-145d-4f35-b32c-c244365c55e2/volume", "rel": "self"}, {"href": "http://localhost/nodes/5da5c853-145d-4f35-b32c-c244365c55e2/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/5da5c853-145d-4f35-b32c-c244365c55e2/states", "rel": "self"}, {"href": "http://localhost/nodes/5da5c853-145d-4f35-b32c-c244365c55e2/states", "rel": "bookmark"}], "boot_interface": "fake", "console_interface": "fake", "deploy_interface": "fake", "inspect_interface": "fake", "management_interface": "fake", "network_interface": "flat", "power_interface": "fake", "raid_interface": "fake", "rescue_interface": "fake", "storage_interface": "noop", "vendor_interface": "fake", "traits": [], "bios_interface": "fake", "updated_at": null, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/nodes/5da5c853-145d-4f35-b32c-c244365c55e2 {} GOT:{'uuid': '5da5c853-145d-4f35-b32c-c244365c55e2', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/5da5c853-145d-4f35-b32c-c244365c55e2', 'rel': 'self'}, {'href': 'http://localhost/nodes/5da5c853-145d-4f35-b32c-c244365c55e2', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/5da5c853-145d-4f35-b32c-c244365c55e2/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/5da5c853-145d-4f35-b32c-c244365c55e2/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/5da5c853-145d-4f35-b32c-c244365c55e2/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/5da5c853-145d-4f35-b32c-c244365c55e2/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/5da5c853-145d-4f35-b32c-c244365c55e2/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/5da5c853-145d-4f35-b32c-c244365c55e2/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/5da5c853-145d-4f35-b32c-c244365c55e2/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/5da5c853-145d-4f35-b32c-c244365c55e2/states', 'rel': 'bookmark'}], 'boot_interface': 'fake', 'console_interface': 'fake', 'deploy_interface': 'fake', 'inspect_interface': 'fake', 'management_interface': 'fake', 'network_interface': 'flat', 'power_interface': 'fake', 'raid_interface': 'fake', 'rescue_interface': 'fake', 'storage_interface': 'noop', 'vendor_interface': 'fake', 'traits': [], 'bios_interface': 'fake', 'updated_at': None, 'created_at': '2000-01-01T00:00:00+00:00'} POST: /v1/nodes {'uuid': '85d75833-4c06-424e-b3a9-47225d62a888', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/85d75833-4c06-424e-b3a9-47225d62a888 Openstack-Request-Id: req-48e166d7-e8c2-46e7-970d-892093d303e0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "85d75833-4c06-424e-b3a9-47225d62a888", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/85d75833-4c06-424e-b3a9-47225d62a888", "rel": "self"}, {"href": "http://localhost/nodes/85d75833-4c06-424e-b3a9-47225d62a888", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/85d75833-4c06-424e-b3a9-47225d62a888/ports", "rel": "self"}, {"href": "http://localhost/nodes/85d75833-4c06-424e-b3a9-47225d62a888/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/85d75833-4c06-424e-b3a9-47225d62a888/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/85d75833-4c06-424e-b3a9-47225d62a888/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/85d75833-4c06-424e-b3a9-47225d62a888/volume", "rel": "self"}, {"href": "http://localhost/nodes/85d75833-4c06-424e-b3a9-47225d62a888/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/85d75833-4c06-424e-b3a9-47225d62a888/states", "rel": "self"}, {"href": "http://localhost/nodes/85d75833-4c06-424e-b3a9-47225d62a888/states", "rel": "bookmark"}], "boot_interface": "fake", "console_interface": "fake", "deploy_interface": "fake", "inspect_interface": "fake", "management_interface": "fake", "network_interface": "flat", "power_interface": "fake", "raid_interface": "fake", "rescue_interface": "fake", "storage_interface": "noop", "vendor_interface": "fake", "traits": [], "bios_interface": "fake", "updated_at": null, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/nodes/85d75833-4c06-424e-b3a9-47225d62a888 {} GOT:{'uuid': '85d75833-4c06-424e-b3a9-47225d62a888', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/85d75833-4c06-424e-b3a9-47225d62a888', 'rel': 'self'}, {'href': 'http://localhost/nodes/85d75833-4c06-424e-b3a9-47225d62a888', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/85d75833-4c06-424e-b3a9-47225d62a888/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/85d75833-4c06-424e-b3a9-47225d62a888/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/85d75833-4c06-424e-b3a9-47225d62a888/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/85d75833-4c06-424e-b3a9-47225d62a888/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/85d75833-4c06-424e-b3a9-47225d62a888/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/85d75833-4c06-424e-b3a9-47225d62a888/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/85d75833-4c06-424e-b3a9-47225d62a888/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/85d75833-4c06-424e-b3a9-47225d62a888/states', 'rel': 'bookmark'}], 'boot_interface': 'fake', 'console_interface': 'fake', 'deploy_interface': 'fake', 'inspect_interface': 'fake', 'management_interface': 'fake', 'network_interface': 'flat', 'power_interface': 'fake', 'raid_interface': 'fake', 'rescue_interface': 'fake', 'storage_interface': 'noop', 'vendor_interface': 'fake', 'traits': [], 'bios_interface': 'fake', 'updated_at': None, 'created_at': '2000-01-01T00:00:00+00:00'} POST: /v1/nodes {'uuid': '1d88b49e-d134-443d-a16a-4ea886927f32', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'rescue_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1d88b49e-d134-443d-a16a-4ea886927f32 Openstack-Request-Id: req-fe0ee3c0-f049-4c94-8b5c-b124e8d1a3a7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "1d88b49e-d134-443d-a16a-4ea886927f32", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1d88b49e-d134-443d-a16a-4ea886927f32", "rel": "self"}, {"href": "http://localhost/nodes/1d88b49e-d134-443d-a16a-4ea886927f32", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/1d88b49e-d134-443d-a16a-4ea886927f32/ports", "rel": "self"}, {"href": "http://localhost/nodes/1d88b49e-d134-443d-a16a-4ea886927f32/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/1d88b49e-d134-443d-a16a-4ea886927f32/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1d88b49e-d134-443d-a16a-4ea886927f32/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1d88b49e-d134-443d-a16a-4ea886927f32/volume", "rel": "self"}, {"href": "http://localhost/nodes/1d88b49e-d134-443d-a16a-4ea886927f32/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1d88b49e-d134-443d-a16a-4ea886927f32/states", "rel": "self"}, {"href": "http://localhost/nodes/1d88b49e-d134-443d-a16a-4ea886927f32/states", "rel": "bookmark"}], "boot_interface": "fake", "console_interface": "fake", "deploy_interface": "fake", "inspect_interface": "fake", "management_interface": "fake", "network_interface": "flat", "power_interface": "fake", "raid_interface": "fake", "rescue_interface": "fake", "storage_interface": "noop", "vendor_interface": "fake", "traits": [], "bios_interface": "fake", "updated_at": null, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/nodes/1d88b49e-d134-443d-a16a-4ea886927f32 {} GOT:{'uuid': '1d88b49e-d134-443d-a16a-4ea886927f32', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1d88b49e-d134-443d-a16a-4ea886927f32', 'rel': 'self'}, {'href': 'http://localhost/nodes/1d88b49e-d134-443d-a16a-4ea886927f32', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/1d88b49e-d134-443d-a16a-4ea886927f32/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/1d88b49e-d134-443d-a16a-4ea886927f32/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1d88b49e-d134-443d-a16a-4ea886927f32/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1d88b49e-d134-443d-a16a-4ea886927f32/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1d88b49e-d134-443d-a16a-4ea886927f32/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1d88b49e-d134-443d-a16a-4ea886927f32/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1d88b49e-d134-443d-a16a-4ea886927f32/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1d88b49e-d134-443d-a16a-4ea886927f32/states', 'rel': 'bookmark'}], 'boot_interface': 'fake', 'console_interface': 'fake', 'deploy_interface': 'fake', 'inspect_interface': 'fake', 'management_interface': 'fake', 'network_interface': 'flat', 'power_interface': 'fake', 'raid_interface': 'fake', 'rescue_interface': 'fake', 'storage_interface': 'noop', 'vendor_interface': 'fake', 'traits': [], 'bios_interface': 'fake', 'updated_at': None, 'created_at': '2000-01-01T00:00:00+00:00'} POST: /v1/nodes {'uuid': '0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'storage_interface': 'noop', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff Openstack-Request-Id: req-70996b7b-da78-426d-aa48-cadbdd8c3ba9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff", "rel": "self"}, {"href": "http://localhost/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff/ports", "rel": "self"}, {"href": "http://localhost/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff/volume", "rel": "self"}, {"href": "http://localhost/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff/states", "rel": "self"}, {"href": "http://localhost/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff/states", "rel": "bookmark"}], "boot_interface": "fake", "console_interface": "fake", "deploy_interface": "fake", "inspect_interface": "fake", "management_interface": "fake", "network_interface": "flat", "power_interface": "fake", "raid_interface": "fake", "rescue_interface": "fake", "storage_interface": "noop", "vendor_interface": "fake", "traits": [], "bios_interface": "fake", "updated_at": null, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff {} GOT:{'uuid': '0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff', 'rel': 'self'}, {'href': 'http://localhost/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/0f74d9a1-7d17-4e85-b7d1-0ddcf75f9cff/states', 'rel': 'bookmark'}], 'boot_interface': 'fake', 'console_interface': 'fake', 'deploy_interface': 'fake', 'inspect_interface': 'fake', 'management_interface': 'fake', 'network_interface': 'flat', 'power_interface': 'fake', 'raid_interface': 'fake', 'rescue_interface': 'fake', 'storage_interface': 'noop', 'vendor_interface': 'fake', 'traits': [], 'bios_interface': 'fake', 'updated_at': None, 'created_at': '2000-01-01T00:00:00+00:00'} POST: /v1/nodes {'uuid': '02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'bios_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b Openstack-Request-Id: req-31bf5ed7-ce5e-4bbf-9bcb-c7f7788c4f32 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b", "rel": "self"}, {"href": "http://localhost/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b/ports", "rel": "self"}, {"href": "http://localhost/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b/volume", "rel": "self"}, {"href": "http://localhost/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b/states", "rel": "self"}, {"href": "http://localhost/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b/states", "rel": "bookmark"}], "boot_interface": "fake", "console_interface": "fake", "deploy_interface": "fake", "inspect_interface": "fake", "management_interface": "fake", "network_interface": "flat", "power_interface": "fake", "raid_interface": "fake", "rescue_interface": "fake", "storage_interface": "noop", "vendor_interface": "fake", "traits": [], "bios_interface": "fake", "updated_at": null, "created_at": "2000-01-01T00:00:00+00:00"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces [1.687207s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_traits [0.052737s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_storage_interface_old_api_version [0.051782s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_driver_info [0.219541s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-784908c5-9672-44a7-89cb-1d75f7b13fe2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "name": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": "enroll", "reservation": null, "provision_updated_at": null, "inspection_finished_at": null, "inspection_started_at": null, "maintenance": false, "maintenance_reason": null, "fault": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "driver_internal_info": {}, "clean_step": {}, "deploy_step": {}, "raid_config": {}, "target_raid_config": {}, "extra": {}, "resource_class": null, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "portgroups": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states", "rel": "bookmark"}], "boot_interface": "fake", "console_interface": "fake", "deploy_interface": "fake", "inspect_interface": "fake", "management_interface": "fake", "network_interface": "flat", "power_interface": "fake", "raid_interface": "fake", "rescue_interface": "fake", "storage_interface": "noop", "vendor_interface": "fake", "traits": [], "bios_interface": "fake", "conductor_group": "foo", "updated_at": null, "created_at": "2020-05-04T22:34:46.244379+00:00"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'fault': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'deploy_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'boot_interface': 'fake', 'console_interface': 'fake', 'deploy_interface': 'fake', 'inspect_interface': 'fake', 'management_interface': 'fake', 'network_interface': 'flat', 'power_interface': 'fake', 'raid_interface': 'fake', 'rescue_interface': 'fake', 'storage_interface': 'noop', 'vendor_interface': 'fake', 'traits': [], 'bios_interface': 'fake', 'conductor_group': 'foo', 'updated_at': None, 'created_at': '2020-05-04T22:34:46.244379+00:00'} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'conductor_group': 'foo', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a04c44cf-5a10-4542-b178-81f1ee4627e9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.45 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'boot_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1a153c70-f641-4142-bea7-d5f3ccb1904c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'console_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-344b316e-2693-4535-9525-dff182e4fecc X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'deploy_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GET: /v1/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b {} GOT:{'uuid': '02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'enroll', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': None, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b', 'rel': 'self'}, {'href': 'http://localhost/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/02d8fd41-8b6f-4a2d-b1f2-de7fd7dc391b/states', 'rel': 'bookmark'}], 'boot_interface': 'fake', 'console_interface': 'fake', 'deploy_interface': 'fake', 'inspect_interface': 'fake', 'management_interface': 'fake', 'network_interface': 'flat', 'power_interface': 'fake', 'raid_interface': 'fake', 'rescue_interface': 'fake', 'storage_interface': 'noop', 'vendor_interface': 'fake', 'traits': [], 'bios_interface': 'fake', 'updated_at': None, 'created_at': '2000-01-01T00:00:00+00:00'} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'traits': ['CUSTOM_4']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-532c57bc-1bda-486c-acc8-3793e3b2af4f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot specify node traits on node creation. Traits must be set via the node traits API.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'storage_interface': 'cinder', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-14eb7ef8-ce7e-4e61-808e-985722f80382 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.32 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-8977d331-5763-4256-b85a-4c0e9432c1b3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:46.300362+00:00"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:46.300362+00:00'} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-95080817-645e-424c-b913-1ba0b43a6035 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:46.514904+00:00"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_extra [0.157208s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_instance_info [0.219941s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces_bad_version [0.487220s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_properties [0.175116s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_chassis_uuid [0.131834s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:46.514904+00:00'} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-b5d67aac-d45a-437d-bb0c-012625303363 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:46.732177+00:00"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:46.732177+00:00'} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-8c10e31a-f670-4880-ac9b-a0c1a7b3e3a8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:46.910618+00:00"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:46.910618+00:00'} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-64e1f6f2-e063-43fe-a59d-de5ebcfbe6f3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:47.028767+00:00"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_resource_class [0.120722s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_internal_field [0.055196s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-613358a3-aedd-4e9d-8604-6d8fd00279c5 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'inspect_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b20738f3-1dae-4e8a-a417-8d93f0437718 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'management_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-7da404d0-0e45-4fb1-9591-e5c699cef452 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'power_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-16177088-cdbc-4048-a4c1-2617d827d4ba X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'raid_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3388a9a3-b0b3-4650-9d03-b1bb69f165e1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'vendor_interface': 'fake', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-75802d7f-9310-4016-be6c-48167c48135f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.30 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-24b20f41-3461-4834-a6ef-a963829d2d4a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "instance_uuid": null, "power_state": null, "target_power_state": null, "last_error": null, "provision_state": null, "reservation": null, "provision_updated_at": null, "maintenance": false, "maintenance_reason": null, "target_provision_state": null, "console_enabled": false, "instance_info": {"configdrive": "******", "image_url": "******", "foo": "bar"}, "driver": "fake-hardware", "driver_info": {"foo": "bar", "fake_password": "******"}, "extra": {}, "properties": {"cpu_arch": "x86_64", "cpus": "8", "local_gb": "10", "memory_mb": "4096"}, "chassis_uuid": "e74c40e0-d825-11e2-a28f-0800200c9a66", "links": [{"href": "http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "rel": "self"}, {"href": "http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "updated_at": null, "created_at": "2020-05-04T22:34:47.003657+00:00"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': '2020-05-04T22:34:47.003657+00:00'} POST: /v1/nodes/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource_no_node_id [0.112155s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_portgroups_subresource [0.169141s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_targets_subresource [0.144865s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource [0.071460s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_async [0.064150s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource [0.073109s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_delete [0.064943s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource_no_node_id [0.045761s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_methods [0.092572s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_by_name [0.062742s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_put [0.062736s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_get [0.060705s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_no_such_method [0.062239s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_sync [0.065136s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_without_method [0.053394s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanwait [0.088259s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_active_fails [0.084811s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_invalid_state [0.083236s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_adoptfail [0.085635s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_raises_error_before_1_17 [0.058455s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_manage [0.083091s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adopting_state [0.153737s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'name': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': 'available', 'reservation': None, 'provision_updated_at': None, 'inspection_finished_at': None, 'inspection_started_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'driver_internal_info': {}, 'clean_step': {}, 'raid_config': {}, 'target_raid_config': {}, 'extra': {}, 'resource_class': 'class1', 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'states': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states', 'rel': 'bookmark'}], 'network_interface': 'flat', 'updated_at': None, 'created_at': '2020-05-04T22:34:47.028767+00:00'} POST: /v1/nodes {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'instance_info': {'configdrive': 'TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQ=', 'image_url': 'http://example.com/test_image_url', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': 'fakepass'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'maintenance': False, 'extra': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'reservation': 'fake'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-902da0c7-9157-40b7-bb5f-cc01aa0df496 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute reservation. Value: 'fake'. Cannot set read only field.\", \"debuginfo\": null}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-41eabab6-78ce-4aa9-97b3-8155acf547ef X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-dab51873-d5d1-4834-818b-a526d15afd23 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-7ec7334a-1d7f-4198-8ae2-0ada1a67949d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} POST: /v1/nodes/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} POST: /v1/nodes/node-109/vendor_passthru/test {'foo': 'bar'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-5da8c3d6-77ca-4256-a616-fc7efb14f022 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 null GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {} GOT:foo 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-b8f02c3f-506f-47e2-a8a4-1cebb64c9e84 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver fake-hardware does not support test (disabled or not implemented).\", \"debuginfo\": null}"} 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-6d3c5449-eb04-4677-9e84-295eb0d953b1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.13 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-d21d9e6c-6662-4e8d-9bfc-30b3fc4e0c02 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.13 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"abort\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"cleaning\\\".\", \"debuginfo\": null}"} 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-3f156e86-feec-4a89-876a-8b4183565191 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.16 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} 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-1e0d203b-b6a8-419e-a30a-44ac887bcefd X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\", \"debuginfo\": null}"} 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-2877a6f9-2a91-460f-b8c9-2e90fb0b6555 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_managed_state [0.196126s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_check_steps_fail [0.140873s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi [0.071105s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adoption_failed_state [0.175399s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_supported [0.067783s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_accepted_after_1_41 [0.088014s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-59045097-b5d7-4749-a32c-bfa6e06d34c5 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node. Value: 'ports'. unable to convert to Node. Error: __init__() takes 1 positional argument but 2 were given\", \"debuginfo\": null}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-32f5a789-e98a-423c-8ffb-bc23dc1316f0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} 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-1df4e18f-a7ac-47d9-8935-b3b2ff8e49c1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-c59a1298-bb98-4e32-9f92-6f14147b2a19 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:{'foo': 'bar'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/methods {} GOT:{'foo': 'bar'} 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-67a2834e-3248-4b17-a593-8cbfdd15c34f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null 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-bf2560e9-befb-4db6-afb1-dbbd29728f9e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"cat": "meow"} 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-07b5a813-73ef-49b3-8a8b-647fabd2a34e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"method\\\"\", \"debuginfo\": null}"} 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-8c7c1785-6f1e-4546-ac8b-4f4b2fdf059d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"adopt\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} 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-c05d8f81-99b5-4031-ae0f-de8bf5d75eab X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 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-ca87e174-c9a0-4f79-92af-46308df34b81 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 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-c03017c6-9433-46e1-8d7f-0f9cc30b739e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\", \"debuginfo\": null}"} 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-b4a32ff6-6ef7-4196-9c70-424e1c65eedd X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"rebuild\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\", \"debuginfo\": null}"} 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-54ab812e-f416-4943-8155-63611568d49c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopting\\\".\", \"debuginfo\": null}"} 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-56590091-4af6-40ba-b7ce-7dfa17b93c95 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\", \"debuginfo\": null}"} 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-97f0a502-a6bf-4bef-92f2-0ee117bbbebc X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"rebuild\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\", \"debuginfo\": null}"} 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-71195f15-eefa-4368-99c7-f2311d61977f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"adopt failed\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}]} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-4b27dc78-ac9d-4e86-8436-f50b823ccca7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean [0.097399s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_no_cleansteps [0.110905s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_available [0.139901s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_allowed [0.100426s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_raises_before_1_41 [0.081805s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_change_when_being_cleaned [0.133105s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_already_in_progress [0.083761s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_invalid_state_request [0.070296s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_missing_parameter_value [0.087599s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name_unsupported [0.059104s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_invalid_soft_ver [0.069675s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_status_code [0.082375s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_valid_soft_ver [0.069474s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_invalid_soft_ver [0.065878s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_no_ver [0.066307s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_valid_soft_ver [0.070248s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_adoptfail [0.276588s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_valid_soft_ver [0.068567s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name [0.068042s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_invalid_soft_ver [0.072317s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_no_ver [0.067161s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_no_ver [0.066556s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_valid_soft_ver [0.060848s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_invalid_soft_ver [0.069450s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_invalid_soft_ver [0.070165s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a74fb5eb-b714-4136-8bd8-f1603684a6b0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"manageable\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cf03e0c7-f2d3-4b0d-9e0c-6778d49717c1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"bad\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 204 No Content Openstack-Request-Id: req-345e7678-cc47-497b-be62-c3a174b3364a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a3e76516-e029-4e36-9323-992bdbd4405c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} 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-b85326ea-7ff1-4885-9656-020162da92e2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.41 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-43fadba9-ce16-4a08-bcf9-47fa39d70ae0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 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-913865aa-697c-4042-a89d-9f4f404551b6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"power off\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"cleaning\\\".\", \"debuginfo\": null}"} 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-38f8d72d-95d6-4672-95fb-d8f0f503af03 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"power off\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"clean wait\\\".\", \"debuginfo\": null}"} 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-79fc842b-51ce-4baf-99ae-f23b0b0c7c47 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"not-supported\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"None\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/states/power {'target': 'power on'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0a5cf640-4538-4a96-8b57-43c22a899796 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\", \"debuginfo\": null}"} 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-d1daef2d-842d-4301-8945-d1968e6c8d74 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} 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-ca62c93c-11bd-4129-ae4f-f0176a9fced8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} 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-dd3b0e35-5cd0-4129-9f86-ca54e4f0cf8d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 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-a8780203-a0dc-4aee-9378-aa50db66d37e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} 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-dedb6fef-a8b3-4071-b820-1fad5629eb97 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 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-5a0b6c11-db10-49a3-ab06-4aa6b6e5a9c6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} 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-2018e64f-94ba-4a3c-abbe-8d86be518a71 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} 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-1b8132e1-9b7b-4632-a6a6-bf5118349aa1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_invalid_soft_ver [0.269457s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_no_ver [0.132232s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_no_ver [0.128349s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_no_ver [0.067322s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_valid_soft_ver [0.070704s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_valid_soft_ver [0.070382s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provide_from_manage [0.082154s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_state [0.082317s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_progress [0.084962s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name [0.071820s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_node_in_maintenance_fail [0.084692s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4c90cf1f-2713-412d-8416-d0e640536804 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"\\\"clean_steps\\\" is required when setting target provision state to clean\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-0a094e9f-ad3d-4d7b-8dd8-62daf35799a2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'abort'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a6803aba-4e4c-461c-a820-2f168974079c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'manageable'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-1b659d60-25a8-4552-99a1-c94a8ccc927b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} 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-357b88b9-dcdf-446a-8182-de64e7cd9850 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.6 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Failed to validate inspection or power info.\", \"debuginfo\": null}"} 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-759fb011-1136-4057-83bb-879de9dba9db X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.6 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Failed to validate inspection or power info.\", \"debuginfo\": null}"} 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-1071bf58-3fdc-462a-8494-efa7a1c1d7f1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 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-ccf0ffbf-1980-4a44-b3ec-87f77611043d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 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-4f361e59-267f-463f-8172-98d77ee85d6a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"timeout has to be positive integer\", \"debuginfo\": null}"} 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-c69e62c3-242a-4c62-99f4-51eb6f5a155c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 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-4db5aa1e-fbf6-4e68-97be-2d2538c51e89 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 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-175fd3ea-d2c7-435e-8924-27d483d50869 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} 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-355889fc-c901-4f2e-8d69-b9d080ec5926 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} 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-bd127d66-95cf-4b9f-abf3-6b1dc0914b19 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} 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-cdddb886-a46b-49ad-bee7-8c57e8fc318f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} 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-3708eaf4-5753-44b4-ba5c-eb96c1fcc273 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 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-20e9c98d-8410-4b38-9f55-8ff8de364d5d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"active\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} 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-4c1f3c42-11b7-41f0-bf50-27b20d8a1815 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 PUT: /v1/nodes/node-39/states/provision {'target': 'active'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9376d3e2-6846-4757-932d-ba30a81ef8c3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name_unsupported [0.065042s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_invalid_state_request [0.069931s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_locked_with_correct_state [0.160418s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_allowed_states [0.288282s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_empty_password [0.084021s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_disallowed_states [0.226577s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_allowed_states [0.184140s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_no_password [0.083716s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_configdrive_not_active [0.069708s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict [0.071636s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unexpected_rescue_password [0.087477s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict_unsupported [0.074783s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_in_progress_deploywait [0.084470s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_iface_not_supported [0.124362s] ... ok 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-e37f09e3-b1fd-43e2-90ef-e47ff4bb55c8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} 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-b1682405-9c42-4d27-a630-d96d3f592547 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 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-9ac53cce-501b-4bd1-9ebc-98a4a55bd86e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-04181dde-2c74-468b-b822-7f62b5561ffc X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} 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-00ab1152-e900-46d0-bf91-8df45207a685 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The provisioning operation can't be performed on node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 because it's in maintenance mode.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-58f70d24-6a6d-44ae-885e-aa749014fb08 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-2052c127-f552-444e-9b20-f77e1d8d5bab X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-321e64e0-56c2-4c4c-a78b-fa64e10c4a28 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-8e24bd5e-2453-4ed1-922f-ffa87272015d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-ed90b98b-1114-44bb-8e80-83eb1e77bc76 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-d6d1ccff-d89c-4f98-9efc-5737c3d0fc55 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-70826350-042c-4dbb-b091-bf6b2b66a180 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-79d49588-294d-4b63-a3d4-0b4424f47826 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ddf20535-a684-4bc1-8cbc-3df82dc9728d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty \\\"rescue_password\\\" is required when setting target provision state to rescue\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'rescue_password': 'password'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1101d37e-feab-4363-b009-982e539e448d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"\\\"rescue_password\\\" is only valid when setting target provision state to rescue\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-b24970e8-5f9a-4fb2-91e8-64e88c7307aa X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-a791bd55-f2ce-429e-b585-7a6e6cd1307e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_disallowed_states [0.324739s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_rescue_raises_error_before_1_38 [0.088110s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_cleansteps_not_clean [0.088247s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_by_name [0.074328s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy [0.070487s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent_invalid_value [0.066230s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_after_deployfail [0.085136s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request [0.064972s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive [0.069484s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_disabled [0.073567s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode [0.058934s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict_all_fields [0.073915s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild [0.084551s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_configdrive [0.108186s] ... ok 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-ed50dfbf-14e2-43fe-9428-82f7727677ed X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"not-supported\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"available\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-5c1f66d9-1ad4-4b38-8a5f-050069db106c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node is locked by host , please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': ' '} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-88000b04-5cd0-45d6-84a7-87faf7304a3d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A non-empty \\\"rescue_password\\\" is required when setting target provision state to rescue\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-adafa03e-f781-43b1-9da8-df2ea36e451b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-9a9b0845-3dbf-4f4a-a05e-a943cedfcdd7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-b53841de-dd61-4645-9da1-b49943898ab1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'deleted', 'configdrive': 'foo'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f7de92dc-6936-459a-b461-764061106a6b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"deleted\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"available\\\".\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': {'user_data': 'foo'}} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-23c93275-0080-43eb-ae7e-838aa6ff42f5 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': {'user_data': 'foo'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d649d076-0003-480e-93b1-c51433fc8d87 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Providing a JSON object for configdrive is only supported starting with API version 1.56\", \"debuginfo\": null}"} 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-b5189b9c-9fa9-4d8c-a1cd-d9b42c3fc563 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 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-0cb64efb-7a99-46ed-9da8-e96673cf07a5 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver fake-hardware does not support raid (disabled or not implemented).\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-5bfaaca9-1d60-40e1-8022-7dc3f218b628 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-77a91690-2d7a-4d6e-b2ca-111282ad28f0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 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-ae805feb-b9a7-4615-ba4b-07134e23110b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"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'\", \"debuginfo\": null}"} 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-01fcae4e-6839-414f-8e10-9c9f3912a0e3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"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'\", \"debuginfo\": null}"} 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-981bc740-b4dd-48e8-ac0c-c8f574d4faab X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {'reason': 'fake_reason'} GOT:Response: 202 Accepted Openstack-Request-Id: req-fefa068b-571f-401a-8f8b-1bd884f1726e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/node-39/maintenance {'reason': 'fake_reason'}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_by_name [0.100417s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason_by_name [0.088491s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unrescue_raises_error_before_1_38 [0.080652s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_unsupported_configdrive [0.114864s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait [0.076228s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down [0.084066s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_locked [0.074639s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid [0.074246s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_not_found [0.077999s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_invalid_parameter_value [0.071281s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_max_trait_limit [0.073999s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_older_version [0.061084s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_too_long_trait [0.072979s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device [0.077733s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_fails_with_bad_version [0.049360s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_not_supported [0.074881s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_with_chassis [0.099945s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent [0.073784s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_trait_not_found [0.074960s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_with_bad_version [0.048804s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_bad_version [0.115465s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-7f941e2a-ae1b-4226-8362-6f3ffe11ff4a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-08e7b8e5-58f3-46fe-bba4-a46d4cbd104b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-309f1248-42e2-4bf8-9c63-039db587caef X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'provide', 'clean_steps': 'foo'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4c896c18-45e4-406a-af59-f9aaac8cc695 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"\\\"clean_steps\\\" is only valid when setting target provision state to clean\", \"debuginfo\": null}"} 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-15c22c09-7218-48ad-baa9-3dbc25fd975c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 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-676fbb23-f161-4ab1-9d6b-bd1234918278 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 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-efb8ed67-5922-4929-8625-172fbd5de254 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'active', 'configdrive': {'user_data': {'serialize': 'me'}, 'meta_data': {'hostname': 'example.com'}, 'network_data': {'links': []}}} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-17fab658-43c3-4940-9d84-3fb15c69fae3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.56 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-45d1aa49-4345-4037-bbc8-5cb8aae84959 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild', 'configdrive': 'foo'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-d787e306-56b9-4173-a67a-16ac44d26774 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.35 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'rebuild', 'configdrive': 'foo'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-caa5f1e6-b4ff-41f2-9dae-b4f84e816935 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a config drive is only supported when setting provision state to active\", \"debuginfo\": null}"} 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-f8ed5a99-2290-4b23-bae0-920f445b09c1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 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-3399a996-7e29-4669-8893-239425d56fda X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 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-600f1a15-983c-4823-a8ae-2d8ded78e032 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"foo\", \"debuginfo\": null}"} 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-b209e9c8-cecd-4d9d-8016-cb5cab6870ca X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-7196f3ba-dd7d-4f14-9302-e1a75e914edf X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 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-1a82b1bf-90f1-48fc-ac58-bc4dfdce9707 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support management (disabled or not implemented).\", \"debuginfo\": null}"} 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-79a6b803-f620-45a7-acf3-04b2bdbd3341 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 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-c691bd28-136e-4561-9d69-38b0eb309aa6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name [0.083161s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name_unsupported [0.077808s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request_missing_parameter [0.156679s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_node_not_found [0.155233s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_console_not_supported [0.105548s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body [0.091945s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_enabled [0.073923s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body_2 [0.073528s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_error [0.057670s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_empty [0.074060s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason [0.063321s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_with_bad_version [0.048331s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_too_long_trait [0.078648s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_bad_trait [0.074238s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_with_chassis [0.094140s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_emit_maintenance_notification [0.013146s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_maintenance_notification [0.014717s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification [0.019036s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification_mask_secrets [0.011435s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits [0.085942s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_notification_uuid_unset [0.012612s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_port_notification [0.012154s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait [0.078409s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_locked [0.132582s] ... ok GOT:Response: 202 Accepted Openstack-Request-Id: req-6c8c00d0-6790-4dbf-9f1b-3d06c6eeec05 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 PUT: /v1/nodes/node-39/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-2593a041-7d38-4fcd-bafc-19d300845102 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'unrescue'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cc2ec222-2ae4-4853-906d-8bafd9f0d856 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 204 No Content Location: http://localhost/v1/nodes/node-39/traits/CUSTOM_3 Openstack-Request-Id: req-6f67b983-7b51-4bc3-a1e7-6f010173a6db X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-de3da807-c2bb-47d4-9448-2ae9aa6aa99f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host host1, please retry after the current operation is completed.\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9f51684c-1689-4bdd-b086-caea38eb458e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ad1fd010-4070-4562-b28f-377659469002 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"too many traits\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits/CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-45a161ef-f48f-408a-9097-103904c053e0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DELETE: /v1/nodes/node-39/traits GOT:Response: 204 No Content Openstack-Request-Id: req-4e35184f-3b03-4fbc-b355-6eef1dc90ce8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 DELETE: /v1/nodes/node-39/traits/CUSTOM_12 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3f52fc60-e275-4171-8d82-a63153b68623 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 doesn't have a trait 'CUSTOM_12'\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT1 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e6fda187-ae94-43ec-9049-3ac55ee339f4 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.36 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/badname/traits {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-47928f78-0c09-4cb2-b087-0c4cd3011877 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node badname could not be found.\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits {'trait': 'CUSTOM_3'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bf5e8d9d-44f7-4ac9-b942-1f672791cae1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"No body should be provided when adding a trait\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits/CUSTOM_3 {'traits': ['CUSTOM_3']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a530c2a7-bd5c-4389-bdd9-838e3482a210 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A single node trait may be added via PUT /v1/nodes//traits/ with no body, or all node traits may be replaced via PUT /v1/nodes//traits with the list of traits specified in the request body.\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits {'traits': []} GOT:Response: 204 No Content Openstack-Request-Id: req-8e941e50-1074-49da-a523-d40522cfd089 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3', 'CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-55565494-dbfe-4f11-900d-b2d40b7b8727 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} GOT:Response: 204 No Content Openstack-Request-Id: req-7b916188-5585-466d-a6bb-d49ff0f4be78 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 DELETE: /v1/ports/52:54:00:cf:2d:31 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4c5273fd-5a39-4993-ad87-6073b631e029 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"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.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byaddress [0.058171s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byid [0.070580s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_node_locked [0.122936s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_not_found [0.099404s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_custom_fields [0.105522s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits [0.088206s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail [0.077288s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits [0.074627s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_against_single [0.055779s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_fails_with_bad_version [0.049811s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_not_supported [0.055945s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_bad_trait [0.073427s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_ok [0.068937s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_no_body [0.076433s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_chassis_notification [0.011504s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_common_params [0.012128s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query [0.076285s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_portgroup_notification [0.011828s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_portgroups_subresource_delete [0.066764s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query_false [0.109443s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_not_allowed [0.052263s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links [0.102976s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_and_fields [0.057252s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_false_and_fields [0.107293s] ... ok PUT: /v1/nodes/node-39/states/console {'enabled': 'true'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9c0aa1ab-5376-40ac-aaf7-9fcee0310190 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node node-39 could not be found.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4a638bba-57f7-4a4f-9909-6eca660429ec X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"enabled\\\"\", \"debuginfo\": null}"} 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-58425c1b-09a1-428f-a8bf-ba3449ca87d2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Driver test-driver does not support console (disabled or not implemented).\", \"debuginfo\": null}"} 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-d309613b-4c25-4bc3-b765-14e823075497 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 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-d56f1297-f78d-4a68-9918-21edb0cd59d2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-cf4ecf4c-69be-4c85-9b81-f395b3b2aea3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits/CUSTOM_TRAIT1 {} GOT:Response: 405 Method Not Allowed Allow: DELETE, GET, PATCH, POST Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} PUT: /v1/nodes/node-39/traits/bad_trait {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7c43776e-7dbc-4aa3-a157-ae168d652ece X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\", \"debuginfo\": null}"} DELETE: /v1/nodes/node-39/traits GOT:Response: 204 No Content Openstack-Request-Id: req-f778aa1e-9f2e-402d-ba1b-64074854607a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 204 No Content Openstack-Request-Id: req-87984cb5-67d7-4916-9a4f-db381d41d49b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-f832adb7-eff8-4174-836c-1d56efd329af X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 is locked by host host1, please retry after the current operation is completed.\", \"debuginfo\": null}"} DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-54a21073-62a0-4a89-8124-bd7f86e38602 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123 could not be found.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:{'traits': ['CUSTOM_1', 'CUSTOM_2']} PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} GOT:Response: 204 No Content Openstack-Request-Id: req-5fac5092-24d7-429f-b675-b5aecbc2e297 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {'traits': []} GOT:Response: 405 Method Not Allowed Allow: DELETE, GET, PATCH, POST Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3', 'BAD_TRAIT']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7345241c-031f-4325-a800-87c578583be0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid trait. A valid trait must be no longer than 255 characters. Standard traits are defined in the os_traits library. A custom trait must start with the prefix CUSTOM_ and use the following characters: A-Z, 0-9 and _\", \"debuginfo\": null}"} PUT: /v1/nodes/node-39/traits {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f2b2e77a-4140-4b98-9d8f-3b426724ef49 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A single node trait may be added via PUT /v1/nodes//traits/ with no body, or all node traits may be replaced via PUT /v1/nodes//traits with the list of traits specified in the request body.\", \"debuginfo\": null}"} DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/c8db5525-c835-475e-bd3b-9812a15dbbb8 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b6f40b2b-549c-493f-9920-da045c80f0af X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/ports/?limit=3 {} GOT:{'ports': [{'uuid': '25e2ec51-3601-4b27-8d8c-ec4bdbd85805', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/25e2ec51-3601-4b27-8d8c-ec4bdbd85805', 'rel': 'self'}, {'href': 'http://localhost/ports/25e2ec51-3601-4b27-8d8c-ec4bdbd85805', 'rel': 'bookmark'}]}, {'uuid': 'e737042e-59cf-41e4-bc51-2ae30dc28072', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/e737042e-59cf-41e4-bc51-2ae30dc28072', 'rel': 'self'}, {'href': 'http://localhost/ports/e737042e-59cf-41e4-bc51-2ae30dc28072', 'rel': 'bookmark'}]}, {'uuid': 'b8491297-034e-481f-9083-a35d023c0959', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/b8491297-034e-481f-9083-a35d023c0959', 'rel': 'self'}, {'href': 'http://localhost/ports/b8491297-034e-481f-9083-a35d023c0959', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=b8491297-034e-481f-9083-a35d023c0959'} GET: /v1/ports {}{1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_default_limit [0.105802s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_old_version [0.087324s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_allowed [0.147061s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_with_incorrect_api_usage [0.056684s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_empty [0.056878s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_not_supported [0.060901s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_older_api_version [0.053478s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_ok [0.098410s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_next_marker_no_uuid [0.086724s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_api_version [0.056074s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_fields [0.069014s] ... ok DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-e19a7b6b-8ae7-4d7d-bf2d-def557db905a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-0a256ee4-99ea-43f0-9255-481f4663dd27 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} GET: /v1/ports?fields=address,uuid {} GOT:{'ports': [{'uuid': '8b5d6245-9c8a-491a-bd45-91c31ad6fa0f', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/8b5d6245-9c8a-491a-bd45-91c31ad6fa0f', 'rel': 'self'}, {'href': 'http://localhost/ports/8b5d6245-9c8a-491a-bd45-91c31ad6fa0f', 'rel': 'bookmark'}]}, {'uuid': 'b02ebdb6-cf96-483a-ae37-c6dd40f00786', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/b02ebdb6-cf96-483a-ae37-c6dd40f00786', 'rel': 'self'}, {'href': 'http://localhost/ports/b02ebdb6-cf96-483a-ae37-c6dd40f00786', 'rel': 'bookmark'}]}, {'uuid': '41228e45-d0ab-48a3-8bd2-e5a25b4fd7f6', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/41228e45-d0ab-48a3-8bd2-e5a25b4fd7f6', 'rel': 'self'}, {'href': 'http://localhost/ports/41228e45-d0ab-48a3-8bd2-e5a25b4fd7f6', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=41228e45-d0ab-48a3-8bd2-e5a25b4fd7f6'} GET: /v1/ports/detail {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'pxe_enabled': False, 'local_link_connection': {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'port_id': 'Gig0/1'}, 'physical_network': 'physnet1', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'is_smartnic': True, 'created_at': '2020-05-04T22:34:53.619381+00:00', 'updated_at': None}]} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2b984a32-99cf-42b6-9209-286948f3ec4d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/ports/detail?node=test-node {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-301b3e6c-208d-4f68-8195-08e39896fdeb X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports/detail?node=test-node {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:53.804228+00:00', 'updated_at': None}]} GET: /v1/ports?detail=True {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'pxe_enabled': False, 'local_link_connection': {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'port_id': 'Gig0/1'}, 'physical_network': 'physnet1', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'is_smartnic': False, 'created_at': '2020-05-04T22:34:53.875917+00:00', 'updated_at': None}]} GET: /v1/ports {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]}]} GET: /v1/ports?detail=False {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]}]} GET: /v1/ports/detail?sort_key=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a3fc07f6-ea3b-47eb-9013-89b1a3087718 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.18 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports?detail=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2193dd43-3183-4329-82e5-1580b2f94661 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} GET: /v1/ports?detail=False&fields=internal_info {} GOT:{'ports': [{'internal_info': {'bar': 'buzz'}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]}]} GET: /v1/ports?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-13843af0-4d4b-4c0e-8e49-3e352448ac23 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} GET: /v1/ports/detail?node=test-node&node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'ports': []} GET: /v1/ports?node=test-node {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-21bf012f-1e0a-48d4-b969-ac90f747df6e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports?node=test-node {} GOT:{'ports': [{'uuid': 'f8509d44-7f3d-4a6a-bcb1-f16b90232500', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/f8509d44-7f3d-4a6a-bcb1-f16b90232500', 'rel': 'self'}, {'href': 'http://localhost/ports/f8509d44-7f3d-4a6a-bcb1-f16b90232500', 'rel': 'bookmark'}]}, {'uuid': '9dc2d7c6-42e4-4af2-b2ea-d0dade224560', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/9dc2d7c6-42e4-4af2-b2ea-d0dade224560', 'rel': 'self'}, {'href': 'http://localhost/ports/9dc2d7c6-42e4-4af2-b2ea-d0dade224560', 'rel': 'bookmark'}]}, {'uuid': '410e4c19-e6bb-46af-9789-e184f7d099f9', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/410e4c19-e6bb-46af-9789-e184f7d099f9', 'rel': 'self'}, {'href': 'http://localhost/ports/410e4c19-e6bb-46af-9789-e184f7d099f9', 'rel': 'bookmark'}]}]} GET: /v1/ports/detail?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123&node=node-name {}{0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_uuid_and_name [0.116504s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_name [0.111901s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_is_smartnic [0.134778s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid [0.074810s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network_upgrade [0.056230s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_and_node_uuid [0.054444s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_portgroup_is_none [0.068902s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_custom_fields [0.092487s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_advanced_net [0.106608s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network [0.090876s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network_upgrade [0.070086s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one [0.069923s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_custom_fields [0.082940s] ... ok GOT:{'ports': [{'uuid': '8a078e9f-8a6a-4899-88f2-82aa4a93a3b5', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/8a078e9f-8a6a-4899-88f2-82aa4a93a3b5', 'rel': 'self'}, {'href': 'http://localhost/ports/8a078e9f-8a6a-4899-88f2-82aa4a93a3b5', 'rel': 'bookmark'}]}, {'uuid': '85bbb411-b8a0-43a7-a585-c7e22f1b97c8', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/85bbb411-b8a0-43a7-a585-c7e22f1b97c8', 'rel': 'self'}, {'href': 'http://localhost/ports/85bbb411-b8a0-43a7-a585-c7e22f1b97c8', 'rel': 'bookmark'}]}, {'uuid': 'f3ad7b71-2f5d-4b32-9e24-b2fc53f6bc43', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/f3ad7b71-2f5d-4b32-9e24-b2fc53f6bc43', 'rel': 'self'}, {'href': 'http://localhost/ports/f3ad7b71-2f5d-4b32-9e24-b2fc53f6bc43', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=f3ad7b71-2f5d-4b32-9e24-b2fc53f6bc43'} GET: /v1/ports/detail?sort_key=pxe_enabled {} GOT:{'ports': [{'uuid': 'fa34b473-8b91-4aeb-9180-e01d548cdb51', 'address': '52:54:00:cf:2d:30', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None, 'pxe_enabled': False, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'links': [{'href': 'http://localhost/v1/ports/fa34b473-8b91-4aeb-9180-e01d548cdb51', 'rel': 'self'}, {'href': 'http://localhost/ports/fa34b473-8b91-4aeb-9180-e01d548cdb51', 'rel': 'bookmark'}], 'is_smartnic': False, 'created_at': '2020-05-04T22:34:54.263142+00:00', 'updated_at': None}, {'uuid': 'cac7bfe1-70cc-442f-ab7a-038177e106b4', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None, 'pxe_enabled': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'links': [{'href': 'http://localhost/v1/ports/cac7bfe1-70cc-442f-ab7a-038177e106b4', 'rel': 'self'}, {'href': 'http://localhost/ports/cac7bfe1-70cc-442f-ab7a-038177e106b4', 'rel': 'bookmark'}], 'is_smartnic': False, 'created_at': '2020-05-04T22:34:54.265717+00:00', 'updated_at': None}]} GET: /v1/ports {} GOT:{'ports': []} GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ce9db5f5-faa4-4241-8c02-794e2b4a41e0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports?fields=address&limit=2 {} GOT:{'ports': [{'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/6ed65339-d266-44ca-bb4c-72f23e90ae66', 'rel': 'self'}, {'href': 'http://localhost/ports/6ed65339-d266-44ca-bb4c-72f23e90ae66', 'rel': 'bookmark'}]}, {'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/db46c134-6aa3-4cb1-9f4e-87dceb8efc1b', 'rel': 'self'}, {'href': 'http://localhost/ports/db46c134-6aa3-4cb1-9f4e-87dceb8efc1b', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=db46c134-6aa3-4cb1-9f4e-87dceb8efc1b'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9878e059-4c9a-469f-8cb4-8398281f1fd1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0781ff81-9ec1-4db4-86a2-adfde249b805 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,is_smartnic {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c37f7fe7-e441-4cbb-a739-ee629d0ab578 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.52 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,is_smartnic {} GOT:{'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'}], 'is_smartnic': True} 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-2b9875e1-8cc9-464e-8047-ca8be2f68890 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None, 'pxe_enabled': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:54.908457+00:00', 'updated_at': None} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:54.981051+00:00', 'updated_at': None} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'pxe_enabled': True, 'local_link_connection': {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'port_id': 'Gig0/1'}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:54.981051+00:00', 'updated_at': None} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None, 'pxe_enabled': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:55.087616+00:00', 'updated_at': None} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'pxe_enabled': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:55.160175+00:00', 'updated_at': None}{1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_portgroup_uuid [0.128425s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_detailed_with_deleted_node [0.102361s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_internal_info [0.155746s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_port_group [0.079787s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_is_smartnic [0.100081s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many [0.115699s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_one [0.068358s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address [0.077872s] ... ok GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:54.585387+00:00', 'updated_at': None}]} GET: /v1/ports/detail?portgroup=fooname {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'pxe_enabled': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:54.718603+00:00', 'updated_at': None}]} GET: /v1/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'pxe_enabled': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:54.815343+00:00', 'updated_at': None}]} 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-858c80ea-d476-4073-8435-fa4936d05d75 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/ports?fields=uuid,extra {} GOT:{'ports': [{'uuid': 'cec940cf-e395-4fd1-93bd-d6c7de03e21d', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/cec940cf-e395-4fd1-93bd-d6c7de03e21d', 'rel': 'self'}, {'href': 'http://localhost/ports/cec940cf-e395-4fd1-93bd-d6c7de03e21d', 'rel': 'bookmark'}]}, {'uuid': '83aa2320-2c35-4589-927c-46285c6d01ba', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/83aa2320-2c35-4589-927c-46285c6d01ba', 'rel': 'self'}, {'href': 'http://localhost/ports/83aa2320-2c35-4589-927c-46285c6d01ba', 'rel': 'bookmark'}]}, {'uuid': 'fe0382e3-d725-4f3a-a824-005e25daea72', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/fe0382e3-d725-4f3a-a824-005e25daea72', 'rel': 'self'}, {'href': 'http://localhost/ports/fe0382e3-d725-4f3a-a824-005e25daea72', 'rel': 'bookmark'}]}]} 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-5950fe00-a0ae-40c6-8ce2-1d420560fac3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,physical_network {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'physical_network': 'physnet1', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:55.127086+00:00', 'updated_at': None} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=address,extra {} GOT:{'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:55.307475+00:00', 'updated_at': None} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'foo': 'bar'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:55.307475+00:00', 'updated_at': None} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None, 'pxe_enabled': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:55.436929+00:00', 'updated_at': None} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None, 'pxe_enabled': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'is_smartnic': True, 'created_at': '2020-05-04T22:34:55.436929+00:00', 'updated_at': None} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None, 'pxe_enabled': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:55.538493+00:00', 'updated_at': None} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None, 'pxe_enabled': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': 'physnet1', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:55.538493+00:00', 'updated_at': None}{0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network [0.110102s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_invalid_address_format [0.086638s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links [0.216697s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_existent_address [0.057046s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_invalid_ident [0.040677s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links_public_url [0.136231s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_invalid [0.116685s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_node [0.062678s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_not_allowed [0.053908s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_node_not_found [0.042220s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_extra_vif_port_id [0.100096s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key [0.093312s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_allowed [0.082061s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_extra_vif_port_id_diff_internal [0.116093s] ... ok GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'pxe_enabled': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:55.160175+00:00', 'updated_at': None} GET: /v1/ports/detail {} GOT:{'ports': [{'uuid': 'd1e53bfb-3461-486c-9a81-e37861f7ea8d', 'address': '66:44:55:33:11:22', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/ports/d1e53bfb-3461-486c-9a81-e37861f7ea8d', 'rel': 'self'}, {'href': 'http://localhost/ports/d1e53bfb-3461-486c-9a81-e37861f7ea8d', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:55.291726+00:00', 'updated_at': None}]} GET: /v1/ports/detail {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None, 'pxe_enabled': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'is_smartnic': False, 'created_at': '2020-05-04T22:34:55.394939+00:00', 'updated_at': None}]} GET: /v1/ports {} GOT:{'ports': [{'uuid': '5f43a37e-650f-4afd-8214-58ae7ae4d5b6', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/5f43a37e-650f-4afd-8214-58ae7ae4d5b6', 'rel': 'self'}, {'href': 'http://localhost/ports/5f43a37e-650f-4afd-8214-58ae7ae4d5b6', 'rel': 'bookmark'}]}, {'uuid': '8e31160e-919c-4a67-9d11-e08d8c4ae46b', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/8e31160e-919c-4a67-9d11-e08d8c4ae46b', 'rel': 'self'}, {'href': 'http://localhost/ports/8e31160e-919c-4a67-9d11-e08d8c4ae46b', 'rel': 'bookmark'}]}, {'uuid': '99ae1080-0327-4eff-bdef-4c9340bbda6c', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/99ae1080-0327-4eff-bdef-4c9340bbda6c', 'rel': 'self'}, {'href': 'http://localhost/ports/99ae1080-0327-4eff-bdef-4c9340bbda6c', 'rel': 'bookmark'}]}, {'uuid': 'a22f0c18-473b-4e7b-9fcf-49146f3082cf', 'address': '52:54:00:cf:2d:33', 'links': [{'href': 'http://localhost/v1/ports/a22f0c18-473b-4e7b-9fcf-49146f3082cf', 'rel': 'self'}, {'href': 'http://localhost/ports/a22f0c18-473b-4e7b-9fcf-49146f3082cf', 'rel': 'bookmark'}]}, {'uuid': '9710ab5c-ab5b-47c5-bf13-0c2654c78805', 'address': '52:54:00:cf:2d:34', 'links': [{'href': 'http://localhost/v1/ports/9710ab5c-ab5b-47c5-bf13-0c2654c78805', 'rel': 'self'}, {'href': 'http://localhost/ports/9710ab5c-ab5b-47c5-bf13-0c2654c78805', 'rel': 'bookmark'}]}]} GET: /v1/ports {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]}]} GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} GOT:{'ports': [{'uuid': 'b7024952-18a9-4db9-9879-ad7654859c46', 'address': 'aa:bb:cc:dd:ee:f1', 'links': [{'href': 'http://localhost/v1/ports/b7024952-18a9-4db9-9879-ad7654859c46', 'rel': 'self'}, {'href': 'http://localhost/ports/b7024952-18a9-4db9-9879-ad7654859c46', 'rel': 'bookmark'}]}]} GET: /v1/ports?address=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cae677b4-0c50-4cc1-9260-4265a33a5b50 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"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.\", \"debuginfo\": null}"} GET: /v1/ports?address=aa:bb:cc:dd:ee:ff {} GOT:{'ports': []} GET: /v1/portgroups/123 123/ports {} GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected a logical name or UUID but received 123 123.\"}"} GET: /v1/ports?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-64894441-9cbd-4095-9b34-7732af3437f6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/ports?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6da83c89-dc6b-4b22-89db-8691fff63249 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/ports?sort_key=internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-95d137ab-1656-4325-8e64-ecf6876ba92d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value internal_info is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/ports?sort_key=local_link_connection {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-891cb744-bafe-4c3b-91b3-d6a1704487d3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value local_link_connection is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/ports?sort_key=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-60c22349-5660-46e4-9695-e7e1cdd3a249 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.18 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/30344d83-eb04-48fe-92c2-10c007fe26f9 [{'path': '/extra/vif_port_id', 'value': 'foo', 'op': 'add'}, {'path': '/extra/vif_port_id', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-17f3bad9-43b9-48eb-ac50-40b04ba21578 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"uuid": "30344d83-eb04-48fe-92c2-10c007fe26f9", "address": "52:55:00:cf:2d:31", "extra": {"vif_port_id": "bar"}, "internal_info": {"bar": "buzz", "tenant_vif_port_id": "bar"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null, "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "links": [{"href": "http://localhost/v1/ports/30344d83-eb04-48fe-92c2-10c007fe26f9", "rel": "self"}, {"href": "http://localhost/ports/30344d83-eb04-48fe-92c2-10c007fe26f9", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:56.109623+00:00", "updated_at": "2020-05-04T22:34:56.161514+00:00"} PATCH: /v1/ports/f7d55f37-f9e0-42d0-adea-040f7a211cac [{'path': '/extra/vif_port_id', 'value': 'foo', 'op': 'add'}, {'path': '/extra/vif_port_id', 'value': 'bar', 'op': 'add'}]{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_extra_vif_port_id_deprecated [0.171722s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_id [0.070836s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_extra_vif_port_id_no_internal [0.119152s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root [0.093307s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root_non_existent [0.059755s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_multi [0.093847s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_too_long [0.060292s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_extra_vif_port_id_not_internal [0.096369s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_extra_vif_port_id_not_same [0.106960s] ... ok GET: /v1/ports/7ba7ff8b-0417-4be3-bd87-0eb3397675b2 {} GOT:{'uuid': '7ba7ff8b-0417-4be3-bd87-0eb3397675b2', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/ports/7ba7ff8b-0417-4be3-bd87-0eb3397675b2', 'rel': 'self'}, {'href': 'http://localhost/ports/7ba7ff8b-0417-4be3-bd87-0eb3397675b2', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:55.677096+00:00', 'updated_at': None} GET: /v1/ports/7ba7ff8b-0417-4be3-bd87-0eb3397675b2 {} GOT:{'uuid': '7ba7ff8b-0417-4be3-bd87-0eb3397675b2', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/ports/7ba7ff8b-0417-4be3-bd87-0eb3397675b2', 'rel': 'self'}, {'href': 'http://localhost/ports/7ba7ff8b-0417-4be3-bd87-0eb3397675b2', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:55.677096+00:00', 'updated_at': None} GET: /ports/7ba7ff8b-0417-4be3-bd87-0eb3397675b2 {} GOT:{'uuid': '7ba7ff8b-0417-4be3-bd87-0eb3397675b2', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/ports/7ba7ff8b-0417-4be3-bd87-0eb3397675b2', 'rel': 'self'}, {'href': 'http://localhost/ports/7ba7ff8b-0417-4be3-bd87-0eb3397675b2', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:55.677096+00:00', 'updated_at': None} GET: /v1/ports/8e9ea51c-cc2b-4008-a1da-157804d6efda {} GOT:{'uuid': '8e9ea51c-cc2b-4008-a1da-157804d6efda', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://foo/v1/ports/8e9ea51c-cc2b-4008-a1da-157804d6efda', 'rel': 'self'}, {'href': 'http://foo/ports/8e9ea51c-cc2b-4008-a1da-157804d6efda', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:55.866247+00:00', 'updated_at': None} GET: /v1/ports/8e9ea51c-cc2b-4008-a1da-157804d6efda {} GOT:{'uuid': '8e9ea51c-cc2b-4008-a1da-157804d6efda', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://foo/v1/ports/8e9ea51c-cc2b-4008-a1da-157804d6efda', 'rel': 'self'}, {'href': 'http://foo/ports/8e9ea51c-cc2b-4008-a1da-157804d6efda', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:55.866247+00:00', 'updated_at': None} GET: /ports/8e9ea51c-cc2b-4008-a1da-157804d6efda {} GOT:{'uuid': '8e9ea51c-cc2b-4008-a1da-157804d6efda', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://foo/v1/ports/8e9ea51c-cc2b-4008-a1da-157804d6efda', 'rel': 'self'}, {'href': 'http://foo/ports/8e9ea51c-cc2b-4008-a1da-157804d6efda', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:34:55.866247+00:00', 'updated_at': None} GET: /v1/ports {} GOT:{'ports': []} GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/ports?sort_key=uuid {} GOT:{'ports': [{'uuid': '33a8c529-2ef9-418c-984f-d602d75634d8', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/33a8c529-2ef9-418c-984f-d602d75634d8', 'rel': 'self'}, {'href': 'http://localhost/ports/33a8c529-2ef9-418c-984f-d602d75634d8', 'rel': 'bookmark'}]}, {'uuid': '40b95a35-af7e-4513-b27d-65abf6dac93d', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/40b95a35-af7e-4513-b27d-65abf6dac93d', 'rel': 'self'}, {'href': 'http://localhost/ports/40b95a35-af7e-4513-b27d-65abf6dac93d', 'rel': 'bookmark'}]}, {'uuid': 'dd4d1128-ca0a-4601-b51c-41d77c3740aa', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/dd4d1128-ca0a-4601-b51c-41d77c3740aa', 'rel': 'self'}, {'href': 'http://localhost/ports/dd4d1128-ca0a-4601-b51c-41d77c3740aa', 'rel': 'bookmark'}]}]} GET: /v1/ports?sort_key=pxe_enabled {} GOT:{'ports': [{'uuid': '21d3e387-663a-4ae1-8b80-77e0a06fec37', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/21d3e387-663a-4ae1-8b80-77e0a06fec37', 'rel': 'self'}, {'href': 'http://localhost/ports/21d3e387-663a-4ae1-8b80-77e0a06fec37', 'rel': 'bookmark'}]}, {'uuid': 'd54d2104-bb48-4fdb-9234-46cbfc1c4418', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/d54d2104-bb48-4fdb-9234-46cbfc1c4418', 'rel': 'self'}, {'href': 'http://localhost/ports/d54d2104-bb48-4fdb-9234-46cbfc1c4418', 'rel': 'bookmark'}]}]} PATCH: /v1/ports/bfbd8b58-7e3c-4088-a316-e4ef9c5d22bd [{'path': '/extra/vif_port_id', 'value': 'foo', 'op': 'add'}, {'path': '/extra/vif_port_id', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-88506c0b-2d5b-44df-9d5a-a0fe8aa58feb X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"uuid": "bfbd8b58-7e3c-4088-a316-e4ef9c5d22bd", "address": "52:55:00:cf:2d:31", "extra": {"vif_port_id": "bar"}, "internal_info": {"tenant_vif_port_id": "original"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null, "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "links": [{"href": "http://localhost/v1/ports/bfbd8b58-7e3c-4088-a316-e4ef9c5d22bd", "rel": "self"}, {"href": "http://localhost/ports/bfbd8b58-7e3c-4088-a316-e4ef9c5d22bd", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:56.293787+00:00", "updated_at": "2020-05-04T22:34:56.348324+00:00"} PATCH: /v1/ports/1f470ff6-5f28-4c86-be82-16065553d520 [{'path': '/extra/vif_port_id', 'value': 'foo', 'op': 'add'}, {'path': '/extra/vif_port_id', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-391c6967-943e-4893-9329-c9151135bcb2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"uuid": "1f470ff6-5f28-4c86-be82-16065553d520", "address": "52:55:00:cf:2d:31", "extra": {"vif_port_id": "bar"}, "internal_info": {"bar": "buzz", "tenant_vif_port_id": "bar"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null, "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "links": [{"href": "http://localhost/v1/ports/1f470ff6-5f28-4c86-be82-16065553d520", "rel": "self"}, {"href": "http://localhost/ports/1f470ff6-5f28-4c86-be82-16065553d520", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:56.430471+00:00", "updated_at": "2020-05-04T22:34:56.482018+00:00"} 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-30ceb117-93f6-49ac-a329-75a17af9e8ee X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:56.522893+00:00", "updated_at": "2020-05-04T22:34:56.576104+00:00"} 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-df952f08-3d47-443c-9677-61a5c9eb618e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:56.616683+00:00", "updated_at": null}{0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_uuid [0.101496s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network [0.190219s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_old_api_version [0.059846s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_upgrade [0.059871s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_multi [0.165359s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_portgroup_uuid [0.104592s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network [0.101182s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_non_text [0.059482s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_portgroups_subresource_patch [0.104180s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b288843f-46ef-471c-a023-d8fe9bf7c9cd X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"uuid": "f7d55f37-f9e0-42d0-adea-040f7a211cac", "address": "52:55:00:cf:2d:31", "extra": {"vif_port_id": "bar"}, "internal_info": {"bar": "buzz", "tenant_vif_port_id": "bar"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null, "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/f7d55f37-f9e0-42d0-adea-040f7a211cac", "rel": "self"}, {"href": "http://localhost/ports/f7d55f37-f9e0-42d0-adea-040f7a211cac", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:56.209181+00:00", "updated_at": "2020-05-04T22:34:56.320142+00:00"} 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-70a23974-68a8-4523-b2c6-195df7b3dbc4 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\", \"debuginfo\": null}"} 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-27db2e67-22fb-4b41-a7aa-38e1a5d3ddad X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:56.447523+00:00", "updated_at": "2020-05-04T22:34:56.503322+00:00"} 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-9cc8a951-9141-494d-9060-73bba66a5fe4 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\", \"debuginfo\": null}"} 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-5d9bf911-0cd8-47f8-91dc-3f92a4e862a4 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp'. Value should have a maximum character requirement of 64\", \"debuginfo\": null}"} PATCH: /v1/ports/e12edf84-9c5c-4e3e-ad4a-3cf45ce9fb13 [{'path': '/extra/vif_port_id', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-330b5d21-b338-479c-9327-c5e8e02478d2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"uuid": "e12edf84-9c5c-4e3e-ad4a-3cf45ce9fb13", "address": "52:55:00:cf:2d:31", "extra": {}, "internal_info": {"foo": "bar"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null, "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "links": [{"href": "http://localhost/v1/ports/e12edf84-9c5c-4e3e-ad4a-3cf45ce9fb13", "rel": "self"}, {"href": "http://localhost/ports/e12edf84-9c5c-4e3e-ad4a-3cf45ce9fb13", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:56.668371+00:00", "updated_at": "2020-05-04T22:34:56.721129+00:00"} PATCH: /v1/ports/628b83c0-133e-4d6f-954b-056bc0ab0d18 [{'path': '/extra/vif_port_id', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-59d5bfff-68e1-4324-946b-6c16c8cd77d6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"uuid": "628b83c0-133e-4d6f-954b-056bc0ab0d18", "address": "52:55:00:cf:2d:31", "extra": {}, "internal_info": {"tenant_vif_port_id": "bar"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null, "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "links": [{"href": "http://localhost/v1/ports/628b83c0-133e-4d6f-954b-056bc0ab0d18", "rel": "self"}, {"href": "http://localhost/ports/628b83c0-133e-4d6f-954b-056bc0ab0d18", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:56.770370+00:00", "updated_at": "2020-05-04T22:34:56.828788+00:00"} 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-b7d9359e-f09d-428a-aaf9-5ebe4ba7aec0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {"foo2": "bar2", "foo3": "bar3"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:56.876020+00:00", "updated_at": "2020-05-04T22:34:56.939647+00:00"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-acc995df-a817-4028-83ac-4f9ec5fada4f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:56.876020+00:00", "updated_at": "2020-05-04T22:34:56.994075+00:00"} 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-502ec307-3ee1-46d4-9a13-4e6febd1061d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null, "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:57.033984+00:00", "updated_at": "2020-05-04T22:34:57.093817+00:00"} 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-33675e27-3021-47fb-ae60-9db007a962dc X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_upgrade [0.066185s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_uuid [0.056835s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_address_already_exist [0.119228s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_extra_vif_port_id [0.120710s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_old_api [0.055416s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network [0.120694s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_mandatory_field [0.056109s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_old_api_version [0.064120s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_node_id [0.060248s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_upgrade [0.064991s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_non_existent_property_fail [0.059452s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_old_api_version [0.062329s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid [0.100683s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_old_api [0.062679s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove [0.096783s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove_add [0.104651s] ... ok 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-a3adc63f-c11f-4a96-9085-df2a6bcb5834 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null, "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": "physnet1", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:56.745933+00:00", "updated_at": "2020-05-04T22:34:56.841831+00:00"} 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-eef9b1f8-3fae-4da8-8be6-3a2ce2153e72 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} 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-9bbbcf7b-7509-4db9-b93b-38caeeea3e26 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'c5cd0f4c-4ffc-43a4-9751-aaf0eb0a6b20', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7311736b-600c-41d6-a887-232bc18bd736 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "c5cd0f4c-4ffc-43a4-9751-aaf0eb0a6b20", "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:57.034007+00:00", "updated_at": "2020-05-04T22:34:57.092836+00:00"} 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-f70636d7-4c07-43a0-8aca-a823cf057f8f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: '1234'. Value should be string\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/b133e027-2aee-4749-b7da-811bf799cd5f [{'path': '/address', 'value': '00:00:00:00:00:00', 'op': 'replace'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-c3b3f00b-3660-4aee-85e0-23e2bab9f356 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} PATCH: /v1/ports/31d21efa-342f-4e30-9e11-47bf428b8621 [{'path': '/extra/vif_port_id', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2cdb99bc-a415-45be-a138-408d67a8f2e9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"uuid": "31d21efa-342f-4e30-9e11-47bf428b8621", "address": "52:55:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null, "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "links": [{"href": "http://localhost/v1/ports/31d21efa-342f-4e30-9e11-47bf428b8621", "rel": "self"}, {"href": "http://localhost/ports/31d21efa-342f-4e30-9e11-47bf428b8621", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:57.314945+00:00", "updated_at": "2020-05-04T22:34:57.391760+00:00"} 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-ed3a879d-667d-43a6-9780-57dfc6f33724 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} 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-0184fa18-4507-4472-9881-0a44bbebdd3d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/address' is a mandatory attribute and can not be removed\", \"debuginfo\": null}"} 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-798d8f10-a9eb-4794-936f-db4ff6e07094 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/node_id', 'op': 'remove'}'. Reason: can't remove non-existent object 'node_id'\", \"debuginfo\": null}"} 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-92cc4db9-9506-443c-9095-d2783f17b4e4 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} 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-61b8a765-a9a1-4953-8969-fef44ec879ca X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/8bc54dce-93cc-4e0f-a782-b5cd5e697965 [{'path': '/extra/vif_port_id', 'value': 'foo', 'op': 'add'}, {'path': '/extra/vif_port_id', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b8b510f2-7d91-4ae0-a565-02ff1b8523cb X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"uuid": "8bc54dce-93cc-4e0f-a782-b5cd5e697965", "address": "52:55:00:cf:2d:31", "extra": {"vif_port_id": "bar"}, "internal_info": {"tenant_vif_port_id": "bar"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null, "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "links": [{"href": "http://localhost/v1/ports/8bc54dce-93cc-4e0f-a782-b5cd5e697965", "rel": "self"}, {"href": "http://localhost/ports/8bc54dce-93cc-4e0f-a782-b5cd5e697965", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:57.739541+00:00", "updated_at": "2020-05-04T22:34:57.793337+00:00"}{0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_extra_vif_port_id [0.108750s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_local_link_connection [0.182085s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_allowed [0.137059s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_multi [0.114912s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_id [0.060422s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_uuid [0.093284s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_non_existent_node_uuid [0.070093s] ... ok 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-13a81f8c-f290-453d-94f5-b647b7505446 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\", \"debuginfo\": null}"} 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-5383d66a-6b62-43b7-bb8b-cbc662308406 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\", \"debuginfo\": null}"} 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-9233d741-d032-4c92-a9af-f9cfe73142d6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null, "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": "physnet2", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:57.398292+00:00", "updated_at": "2020-05-04T22:34:57.457913+00:00"} 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-7ca7072a-95bd-445b-a974-54ef947a0ef9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} 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-2067de52-8826-41f2-b90a-e97560c4c4cf X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '2b2287e0-5d02-4130-94b9-9ca564c62ae9', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-97971a39-0fd5-4433-9e93-07ee97deee32 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "2b2287e0-5d02-4130-94b9-9ca564c62ae9", "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:57.630493+00:00", "updated_at": "2020-05-04T22:34:57.690109+00:00"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '0958f2f1-b1b7-4723-a72d-b63eafb7c7e9', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-eaf3f88c-a87a-4b38-a59e-7e84e7c04a6d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '7a085b83-0350-432c-a206-6b0ed85f8b95', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b18ec189-370a-4208-9fa6-dba1d0e7aa44 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null, "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:57.797779+00:00", "updated_at": null} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': 'e38637c7-d8b5-4b21-b443-b57b23a5de5b', 'op': 'remove'}, {'path': '/portgroup_uuid', 'value': '4527b6f9-7d70-430d-bdff-53ced9af8e8f', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b38b8f11-bc2b-4002-8a85-ea79bdb375a6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "4527b6f9-7d70-430d-bdff-53ced9af8e8f", "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:57.895356+00:00", "updated_at": "2020-05-04T22:34:57.957289+00:00"} 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-36a510ee-d235-49fa-b7dd-b97203e08bdf X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null, "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:58.001056+00:00", "updated_at": "2020-05-04T22:34:58.096799+00:00"} 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-f1af77f1-86d9-43ee-9cfc-091a5833f767 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:58.138418+00:00", "updated_at": null}{1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_allowed [0.101009s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortObject.test_port_init [0.017877s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_allow [0.028301s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_empty [0.021130s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_none [0.028231s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_allow [0.020819s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_singular [0.132539s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_normalized [0.164642s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_set_pxe_enabled_false_old_api [0.056069s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_address_invalid_format [0.059771s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_doesnt_contain_id [0.133613s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byaddress_not_allowed [0.056367s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byid [0.093671s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_error [0.292187s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_node_uuid_format [0.056634s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_not_allowed [0.303644s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_too_long [0.070533s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_not_found [0.059846s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_mandatory [0.068763s] ... ok 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-01d4a41d-fd85-4397-8bba-62face95eb59 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.19 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "pxe_enabled": true, "local_link_connection": {"switch_id": "aa:bb:cc:dd:ee:ff", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:57.860486+00:00", "updated_at": "2020-05-04T22:34:57.971239+00:00"} 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-f3bed9c0-2220-45be-beee-d520bfce03fa X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:58.038410+00:00", "updated_at": "2020-05-04T22:34:58.098754+00:00"} 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-24490bf3-9dc6-4478-bd97-9f74da1addba X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/node_id', 'op': 'replace', 'value': '1'}'. Reason: can't replace non-existent object 'node_id'\", \"debuginfo\": null}"} 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-7bfaa136-b3fe-4181-b029-5b0e90401bff X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:58.199483+00:00", "updated_at": null} 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-6110a213-4852-447c-8755-c660b2fc6465 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} 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-25700258-bea6-4385-86c4-23b60b216176 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:58.373381+00:00", "updated_at": "2020-05-04T22:34:58.458134+00:00"} 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-f35f6fee-91f9-43cb-8e7c-659e34ba1b29 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} 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-042225a3-709d-456d-8c56-3c62d1de5d95 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\", \"debuginfo\": null}"} 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-bebb40c6-9a8e-4262-b87d-3d3424e6e934 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"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.\", \"debuginfo\": null}"} 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-9a7f5498-3de7-4b8f-b52c-92ca9a7b35f8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:58.675064+00:00", "updated_at": "2020-05-04T22:34:58.730504+00:00"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-fcc61ed1-1948-465c-bf29-fff137593115 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.39 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update port \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c781\\\" on \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} PATCH: /v1/ports/71bed24b-c9a4-4839-b26a-f9cb77de8a46 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3eb6e06a-a71d-4060-a73f-6da85f117884 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 71bed24b-c9a4-4839-b26a-f9cb77de8a46 could not be found.\", \"debuginfo\": null}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}]{0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_port_address_normalized [0.165269s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_old_api_version [0.112739s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_not_allow [0.029484s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_allow [0.014969s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_not_allow [0.015737s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_not_allow [0.014199s] ... ok POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': 'AA:BB:CC:DD:EE:FF', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-51824e1c-f00f-46f5-9039-bdbaa9a8b3eb X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:34:58.457332+00:00", "updated_at": null} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': 'aa:bb:cc:dd:ee:ff', 'extra': {}, 'internal_info': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'pxe_enabled': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'is_smartnic': False, 'created_at': '2020-05-04T22:34:58.457332+00:00', 'updated_at': None} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {'foo': 123}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-e9fa7174-45d4-4528-9fcb-d27f84f36fc4 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {"foo": 123}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:34:58.590962+00:00", "updated_at": null} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {'foo': 123}, 'internal_info': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'pxe_enabled': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'is_smartnic': False, 'created_at': '2020-05-04T22:34:58.590962+00:00', 'updated_at': None} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a8b35587-713f-4ff4-b17c-dfa556828da7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': 'invalid-format', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3f4e35e6-2ba9-4138-be75-aa57ccaabc07 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received invalid-format.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bd52fecb-3df2-4a38-a63e-179b75c919f1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: 'ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp'. Value should have a maximum character requirement of 64\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'switch_info': 'fooswitch'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-db10a57f-d799-4489-b4fb-589aa1192a36 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory keys. Required keys are {'port_id', 'switch_id'}. Or in case of Smart NIC {'hostname', 'port_id'}. Submitted keys are {'switch_id', 'switch_info'} .\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet1/15'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-6ed8783d-9683-4feb-bcbc-b5ea017daf36 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet1/15"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:34:59.220690+00:00", "updated_at": null}{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_optional [0.108886s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_switch_id_bad_mac [0.130581s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_min_api_version [0.158568s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_node_uuid [0.078612s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port [0.171074s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_noportgroup [0.086943s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_already_exist [0.080846s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_nostandalone_ports [0.076159s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_cannot_send_create_port [0.093549s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_cannot_send_create_port [0.070722s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_different_nodes [0.067275s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_generate_uuid [0.133313s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found_old_api_version [0.065962s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_some_invalid_local_link_connection_key [0.069804s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ab07287b-bea4-4b4e-a660-f023fa914d65 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:59.138421+00:00", "updated_at": "2020-05-04T22:34:59.249624+00:00"} 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-460093a4-b51b-400e-9954-5cc25cef2662 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-4dc0c952-4bc3-490b-9ce9-4783dfc36f3a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'pxe_enabled': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'is_smartnic': False, 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-d808d46a-a185-4a04-b9f3-7a1e2db6c14f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address AA:AA:AA:11:22:33 already exists.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-af4b6734-3532-45a3-8d13-14c8adc68ac7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null, "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:34:59.801126+00:00", "updated_at": null} POST: /v1/ports {'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/fdde0b01-f504-4bae-8090-da35ad24186e Openstack-Request-Id: req-8a530778-ff66-4336-9615-920ee63f17bb X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "fdde0b01-f504-4bae-8090-da35ad24186e", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/fdde0b01-f504-4bae-8090-da35ad24186e", "rel": "self"}, {"href": "http://localhost/ports/fdde0b01-f504-4bae-8090-da35ad24186e", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:34:59.900304+00:00", "updated_at": null} GET: /v1/ports/fdde0b01-f504-4bae-8090-da35ad24186e {} GOT:{'uuid': 'fdde0b01-f504-4bae-8090-da35ad24186e', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'pxe_enabled': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'links': [{'href': 'http://localhost/v1/ports/fdde0b01-f504-4bae-8090-da35ad24186e', 'rel': 'self'}, {'href': 'http://localhost/ports/fdde0b01-f504-4bae-8090-da35ad24186e', 'rel': 'bookmark'}], 'is_smartnic': False, 'created_at': '2020-05-04T22:34:59.900304+00:00', 'updated_at': None} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': 'invalid-format', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ccb26f2d-2097-47dd-ba90-b6f5c03ceccf X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_addr_format [0.062860s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_non_text [0.147834s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_keys [0.165636s] ... ok POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': 'zz:zz:zz:zz:zz:zz', 'port_id': 'Ethernet1/15', 'switch_info': 'value3'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-83a5f5a2-c8ac-4cc7-a612-273d60ac0116 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address or OpenFlow datapath ID but received zz:zz:zz:zz:zz:zz.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-20de0155-17a0-4f0e-808c-592edb8eccd3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:34:59.520384+00:00", "updated_at": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a458bc3a-3952-401b-990b-24d54c246f8c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-bcde972c-1ad7-430e-be03-c84c770511ff X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null, "pxe_enabled": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:34:59.687533+00:00", "updated_at": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-c94a6c18-dff5-4b4e-8d69-ecb6e28b2edf X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port group 6eb02b44-18a3-4659-8c0b-8d2802581ae4 doesn't support standalone ports. This port cannot be created as a member of that port group because either 'extra/vif_port_id' was specified or 'pxe_enabled' was set to True.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d06cb085-7fc8-4409-a50d-e34b7672713c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '2398ad8c-31ed-4d64-9585-94dcca9c5c97', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ca326217-abd5-4638-acd4-97828475aabd X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 2398ad8c-31ed-4d64-9585-94dcca9c5c97 could not be found.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-abfca9bd-05d4-447f-868f-9e5221901744 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': 'value1', 'port_id': 'Ethernet1/15', 'switch_foo': 'value3'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5baee572-5ebd-44f4-8a3d-bda6ec0da5ab X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"{'switch_foo'} are invalid keys\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {'vif_port_id': '0a3b2e1d-0eef-4da8-bf78-6f57c1ccfe7d'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_noportgroup [0.151609s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_address [0.069237s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_standalone_ports [0.216374s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_node_uuid_not_found [0.064369s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_extra_vif_port_id [0.097405s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_nostandalone_ports [0.100983s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_extra_vif_port_id_deprecated [0.097942s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_standalone_ports [0.097704s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic [0.101756s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_noportgroup [0.087780s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_default_value [0.100576s] ... ok POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 1234, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-22a0aefc-8c31-4d40-adc4-01738220e868 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: '1234'. Value should be string\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet1/15', 'switch_info': 'value3'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-9f8b55df-ef69-4a65-9040-7ccdb845dbc1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet1/15", "switch_info": "value3"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:35:00.312926+00:00", "updated_at": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7d877483-51a5-4e23-b82a-48d9a0f8af32 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute address. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e93eb5fb-8ec4-40b7-84b8-297315fa7878 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-150d0fac-7f17-47c2-add0-2faa5f315bbe X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "pxe_enabled": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:35:00.551819+00:00", "updated_at": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-02f183de-5c5b-415d-83c2-73e5fdc1dc7d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "pxe_enabled": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:35:00.650873+00:00", "updated_at": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-f9dbde5e-7bd9-4a08-aefd-8d94e0987feb X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null, "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:35:00.742728+00:00", "updated_at": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'}{0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_standalone_ports [0.145366s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-2c0a4bf8-3719-43da-a32a-19d4b32b9837 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {"vif_port_id": "0a3b2e1d-0eef-4da8-bf78-6f57c1ccfe7d"}, "internal_info": {"tenant_vif_port_id": "0a3b2e1d-0eef-4da8-bf78-6f57c1ccfe7d"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null, "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:35:00.179632+00:00", "updated_at": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {'vif_port_id': '99d1b539-a923-4d67-a0c2-63977ab87944'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-12be2e25-6d59-406d-80bd-80ab45b62f1f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {"vif_port_id": "99d1b539-a923-4d67-a0c2-63977ab87944"}, "internal_info": {"tenant_vif_port_id": "99d1b539-a923-4d67-a0c2-63977ab87944"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:35:00.388952+00:00", "updated_at": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {'vif_port_id': 'foo'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-7b8a375c-1030-49ab-a7dd-89f908d6f114 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {"vif_port_id": "foo"}, "internal_info": {"tenant_vif_port_id": "foo"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "pxe_enabled": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "created_at": "2020-05-04T22:35:00.506551+00:00", "updated_at": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {'vif_port_id': 'foo'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-c5c0cc32-437a-4551-ad9a-1587381f4b42 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {"vif_port_id": "foo"}, "internal_info": {"tenant_vif_port_id": "foo"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "pxe_enabled": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:35:00.605059+00:00", "updated_at": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'hostname': 'host1', 'port_id': 'rep0-0'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-c8041aa0-d850-4843-a914-2010f980abb7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "pxe_enabled": true, "local_link_connection": {"hostname": "host1", "port_id": "rep0-0"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": true, "created_at": "2020-05-04T22:35:00.705148+00:00", "updated_at": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-0de2ca9e-72b1-4272-8cff-83b8fca0d386 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:35:00.805215+00:00", "updated_at": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'hostname': 'host'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'}{1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_port_id [0.144946s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup [0.170127s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network [0.158301s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_old_api_version [0.067536s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_upgrade [0.069888s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found [0.072350s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_portgroups_subresource_post [0.077363s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname [0.069111s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_valid_extra [0.137190s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_with_json [0.073489s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_noportgroup [0.090640s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_invalid_api_version [0.045838s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_custom_fields [0.118605s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-8a75af85-b50c-417e-b3c9-e7a7b8ff16d7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:35:00.886133+00:00", "updated_at": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-372f967d-8280-4977-bffb-bbe628d58d96 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:35:01.040665+00:00", "updated_at": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-fae206a5-c4d1-4a63-8409-20a681a51957 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3ba85db1-1306-4547-b887-2d58a70d63ea X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-2bf06721-bd37-41e3-aa09-d07c1aa111d6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:35:01.299089+00:00", "updated_at": null} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'internal_info': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'pxe_enabled': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}], 'is_smartnic': False, 'created_at': '2020-05-04T22:35:01.299089+00:00', 'updated_at': None} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {'vif_port_id': 'ef50532e-a6f3-4d72-bbab-49f89ec99e86'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-3708c616-a7b0-4e8c-9b92-bb8d530f8a11 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {"vif_port_id": "ef50532e-a6f3-4d72-bbab-49f89ec99e86"}, "internal_info": {"tenant_vif_port_id": "ef50532e-a6f3-4d72-bbab-49f89ec99e86"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null, "pxe_enabled": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:35:01.432825+00:00", "updated_at": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {'vif_port_id': '1f9e0800-7037-4335-91d8-925181ae037e'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'}{0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_nostandalone_ports [0.127230s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_against_single [0.089570s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_standalone_ports [0.139268s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_by_node_name_ok [0.077048s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_nostandalone_ports [0.081929s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_hyphens_delimiter [0.060125s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_internal_field [0.062199s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bfc455b0-249e-4a17-82b4-8a629022bcfb X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory keys. Required keys are {'port_id', 'switch_id'}. Or in case of Smart NIC {'hostname', 'port_id'}. Submitted keys are {'hostname', 'switch_id', 'switch_info'} .\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'physnet1', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-8fd32381-9186-48da-b265-e91b92cac616 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": "physnet1", "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:35:01.110330+00:00", "updated_at": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'physnet1', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-07cd29b8-fd60-4623-8852-62613ee3b49e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6d295a1b-2a2e-46e5-ae8c-73f925a9eaf4 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.24 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} DELETE: /v1/portgroups/pg.1 GOT:Response: 204 No Content Openstack-Request-Id: req-1594127c-47b5-489c-b18a-643b0de6a4cc X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 DELETE: /v1/portgroups/pg.1.json GOT:Response: 204 No Content Openstack-Request-Id: req-a3d0ec78-9f55-4a89-af09-164c384ec184 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/portgroups?fields=address,uuid {} GOT:{'portgroups': [{'uuid': 'd31ccc1d-2ed6-454c-9595-8ae33d51b64e', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/portgroups/d31ccc1d-2ed6-454c-9595-8ae33d51b64e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d31ccc1d-2ed6-454c-9595-8ae33d51b64e', 'rel': 'bookmark'}]}, {'uuid': '2648c93f-6375-407f-8eae-9713d016563c', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/portgroups/2648c93f-6375-407f-8eae-9713d016563c', 'rel': 'self'}, {'href': 'http://localhost/portgroups/2648c93f-6375-407f-8eae-9713d016563c', 'rel': 'bookmark'}]}, {'uuid': '3295dede-5a8a-401e-82f1-7aa27a280138', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/portgroups/3295dede-5a8a-401e-82f1-7aa27a280138', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3295dede-5a8a-401e-82f1-7aa27a280138', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=3295dede-5a8a-401e-82f1-7aa27a280138'} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-9c5ad4af-9c93-403c-a9e0-68cbfbd94f29 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/portgroups/detail?node=test-node {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, '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'}], 'created_at': '2020-05-04T22:35:01.707095+00:00', 'updated_at': None}]} GET: /v1/portgroups/detail?sort_key=mode {} GOT:{'portgroups': [{'uuid': 'b3060f5c-7817-411f-992a-93ca76bbb1c0', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/b3060f5c-7817-411f-992a-93ca76bbb1c0', 'rel': 'self'}, {'href': 'http://localhost/portgroups/b3060f5c-7817-411f-992a-93ca76bbb1c0', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'mode_1', 'properties': {}, 'ports': [{'href': 'http://localhost/v1/portgroups/b3060f5c-7817-411f-992a-93ca76bbb1c0/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/b3060f5c-7817-411f-992a-93ca76bbb1c0/ports', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:01.790866+00:00', 'updated_at': None}, {'uuid': '2a932b67-b708-4c7d-adee-ffe470296681', 'address': '52:54:00:cf:2d:32', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/2a932b67-b708-4c7d-adee-ffe470296681', 'rel': 'self'}, {'href': 'http://localhost/portgroups/2a932b67-b708-4c7d-adee-ffe470296681', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'mode_2', 'properties': {}, 'ports': [{'href': 'http://localhost/v1/portgroups/2a932b67-b708-4c7d-adee-ffe470296681/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/2a932b67-b708-4c7d-adee-ffe470296681/ports', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:01.788395+00:00', 'updated_at': None}, {'uuid': 'dacbff79-215c-4228-a375-c3af283ae0d1', 'address': '52:54:00:cf:2d:33', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/dacbff79-215c-4228-a375-c3af283ae0d1', 'rel': 'self'}, {'href': 'http://localhost/portgroups/dacbff79-215c-4228-a375-c3af283ae0d1', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'mode_3', 'properties': {}, 'ports': [{'href': 'http://localhost/v1/portgroups/dacbff79-215c-4228-a375-c3af283ae0d1/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/dacbff79-215c-4228-a375-c3af283ae0d1/ports', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:01.785931+00:00', 'updated_at': None}]}{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_allowed [0.112209s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_hostname [0.124838s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_name_ok [0.152070s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_uuid_ok [0.088289s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_old_api_version [0.094488s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_ports_by_portgroup_uuid [0.096897s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_llc_old_api_version [0.072297s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_old_api_version [0.072619s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_custom_fields [0.098363s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_properties_field_lower_api_version [0.059211s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one [0.073341s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json [0.094723s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-8529606f-7db5-4f38-89b7-b6a614f866e8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port group 6eb02b44-18a3-4659-8c0b-8d2802581ae4 doesn't support standalone ports. This port cannot be created as a member of that port group because either 'extra/vif_port_id' was specified or 'pxe_enabled' was set to True.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {'vif_port_id': 'd6f0f0bd-6ed0-4bd7-91d2-7c107cb3bcf9'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-92d58a37-fb72-47e5-a7fd-18bd7ff18d3e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {"vif_port_id": "d6f0f0bd-6ed0-4bd7-91d2-7c107cb3bcf9"}, "internal_info": {"tenant_vif_port_id": "d6f0f0bd-6ed0-4bd7-91d2-7c107cb3bcf9"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "pxe_enabled": false, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:35:01.697972+00:00", "updated_at": null} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {'vif_port_id': 'ada8fb24-ba1a-4c25-895e-584d0b743473'}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-80f944bc-4c00-48e4-8da0-b02fef290c3f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port group 6eb02b44-18a3-4659-8c0b-8d2802581ae4 doesn't support standalone ports. This port cannot be created as a member of that port group because either 'extra/vif_port_id' was specified or 'pxe_enabled' was set to True.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52-54-00-cf-2d-31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-276fe01f-5bf0-41d8-9d63-6f5b7e60cf5f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received 52-54-00-cf-2d-31.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'internal_info': {'a': 'b'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-793c36c0-2e4c-4491-b53f-3655c72a45fd X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute internal_info. Value: '{'a': 'b'}'. Cannot set read only field.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_info': 'switch', 'switch_id': 'aa:bb:cc:dd:ee:ff', 'port_id': 'Gig0/1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4e20f3d8-4926-4700-9529-03dad9a22482 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Smart NIC port must have port_id and hostname in local_link_connection\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4dfc71c6-eee9-4bb0-962a-0e00dff0e4c3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.52 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet1/15'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-2a9dc560-7513-410b-aa68-ccb66bdaf6d3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': 'physnet1', 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ae896bb9-e163-443b-bbfe-d1c114b1e9e2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.33 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'pxe_enabled': False, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a8a7ee4d-1dfe-4d69-8e84-280329be501b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_pxe_enabled_old_api_version [0.082844s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_node_uuid_to_node_id_mapping [0.191601s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byaddress [0.045644s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address [0.096108s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byid [0.072260s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_invalid_address_format [0.056668s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_not_existed [0.060004s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_get_all_invalid_api_version [0.056547s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_no_portgroups_allowed [0.050732s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_node_locked [0.082099s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_not_allowed [0.046165s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_portgroup_not_found [0.066821s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links [0.105702s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_default_limit [0.104401s] ... ok GET: /v1/portgroups?node=test-node {} GOT:{'portgroups': [{'uuid': 'e0eb4d39-6e06-417f-b6bf-9784a7289906', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/e0eb4d39-6e06-417f-b6bf-9784a7289906', 'rel': 'self'}, {'href': 'http://localhost/portgroups/e0eb4d39-6e06-417f-b6bf-9784a7289906', 'rel': 'bookmark'}]}, {'uuid': 'bff0f27b-2a90-40bd-8a3b-09932fca36a0', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/bff0f27b-2a90-40bd-8a3b-09932fca36a0', 'rel': 'self'}, {'href': 'http://localhost/portgroups/bff0f27b-2a90-40bd-8a3b-09932fca36a0', 'rel': 'bookmark'}]}, {'uuid': 'da79afbf-1dd1-4041-ad36-6f523f6224cb', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/da79afbf-1dd1-4041-ad36-6f523f6224cb', 'rel': 'self'}, {'href': 'http://localhost/portgroups/da79afbf-1dd1-4041-ad36-6f523f6224cb', 'rel': 'bookmark'}]}]} GET: /v1/portgroups/detail?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, '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'}], 'created_at': '2020-05-04T22:35:02.066121+00:00', 'updated_at': None}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:{'ports': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?fields=uuid,extra {} GOT:{'portgroups': [{'uuid': '67d783ce-21e1-434f-9a07-4debef97b671', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/67d783ce-21e1-434f-9a07-4debef97b671', 'rel': 'self'}, {'href': 'http://localhost/portgroups/67d783ce-21e1-434f-9a07-4debef97b671', 'rel': 'bookmark'}]}, {'uuid': '6c9c76e1-2493-4df0-82d5-a4bcefccd6e9', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/6c9c76e1-2493-4df0-82d5-a4bcefccd6e9', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6c9c76e1-2493-4df0-82d5-a4bcefccd6e9', 'rel': 'bookmark'}]}, {'uuid': '3c1037d1-03cb-4f90-a536-e7c315b69211', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/3c1037d1-03cb-4f90-a536-e7c315b69211', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3c1037d1-03cb-4f90-a536-e7c315b69211', 'rel': 'bookmark'}]}]} GET: /v1/portgroups/?fields=address,properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d474e01f-5351-421f-9147-51096fddcd51 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, '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'}], 'created_at': '2020-05-04T22:35:02.396647+00:00', 'updated_at': None} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4.json {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, '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'}], 'created_at': '2020-05-04T22:35:02.485685+00:00', 'updated_at': None} GET: /v1/portgroups?address=aa:bb:cc:dd:ee:f1 {} GOT:{'portgroups': [{'uuid': 'e5a0ff4b-9e49-4012-a639-6e9bb309880b', 'address': 'aa:bb:cc:dd:ee:f1', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/e5a0ff4b-9e49-4012-a639-6e9bb309880b', 'rel': 'self'}, {'href': 'http://localhost/portgroups/e5a0ff4b-9e49-4012-a639-6e9bb309880b', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?address=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cfb191d5-37ab-4f82-afa5-d6e21f02699b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"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.\", \"debuginfo\": null}"} GET: /v1/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c2745606-a720-4e12-8b8e-54a59c1e4e5b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/portgroups/6bf65f7e-3c2a-4577-9fc9-4c67d22b0358/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-06d678e5-67bf-4ac5-bf48-c54aaafe4825 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"debuginfo\": null}"} 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-9e0bdb11-186a-4557-9884-d7a6ed3ab7bf X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "pg.1", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:02.941582+00:00", "updated_at": null}{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_uuid [0.094541s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root_non_existent [0.138941s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail [0.111199s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_invalid_api_version [0.045780s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_node_id [0.059927s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query [0.072264s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_non_existent_property_fail [0.060796s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_uuid [0.056277s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query_false [0.111332s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_id [0.064838s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_not_allowed [0.053599s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid [0.089193s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname [0.101342s] ... ok POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'pxe_enabled': True, 'physical_network': None, 'is_smartnic': False, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-b5d8f950-4933-4abc-aa74-4cc2adebd046 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "pxe_enabled": true, "local_link_connection": {"switch_id": "0a:1b:2c:3d:4e:5f", "port_id": "Ethernet3/1", "switch_info": "switch1"}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "self"}, {"href": "http://localhost/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2020-05-04T22:35:02.508238+00:00", "updated_at": null} DELETE: /v1/portgroups/52:54:00:cf:2d:31 GOT:Response: 400 Bad Request Content-Type: application/json {"error_message": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected a logical name or UUID but received 52:54:00:cf:2d:31.\"}"} DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 204 No Content Openstack-Request-Id: req-eb29f777-45d3-4d87-b1c2-835d20a72453 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 DELETE: /v1/portgroups/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-ebd4d6b9-f1d3-4bbf-b296-c8b169958306 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup blah could not be found.\", \"debuginfo\": null}"} DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-9c7dda27-fe84-4696-b0c4-42e6852297c6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} GET: /v1/portgroups/?limit=3 {} GOT:{'portgroups': [{'uuid': 'c15feb8e-8520-4032-9589-e817e55ec3b3', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/c15feb8e-8520-4032-9589-e817e55ec3b3', 'rel': 'self'}, {'href': 'http://localhost/portgroups/c15feb8e-8520-4032-9589-e817e55ec3b3', 'rel': 'bookmark'}]}, {'uuid': 'eddeb9c3-9f54-4ef9-9779-5cb47600d591', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/eddeb9c3-9f54-4ef9-9779-5cb47600d591', 'rel': 'self'}, {'href': 'http://localhost/portgroups/eddeb9c3-9f54-4ef9-9779-5cb47600d591', 'rel': 'bookmark'}]}, {'uuid': '4e237d15-a0cf-445a-9214-6f93b3281fd9', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/4e237d15-a0cf-445a-9214-6f93b3281fd9', 'rel': 'self'}, {'href': 'http://localhost/portgroups/4e237d15-a0cf-445a-9214-6f93b3281fd9', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=4e237d15-a0cf-445a-9214-6f93b3281fd9'} GET: /v1/portgroups {} GOT:{'portgroups': [{'uuid': '7cf41c38-7a23-4114-8245-bc154f3937e2', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/7cf41c38-7a23-4114-8245-bc154f3937e2', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7cf41c38-7a23-4114-8245-bc154f3937e2', 'rel': 'bookmark'}]}, {'uuid': '227e99be-765f-47c1-936f-4645bff0a035', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/227e99be-765f-47c1-936f-4645bff0a035', 'rel': 'self'}, {'href': 'http://localhost/portgroups/227e99be-765f-47c1-936f-4645bff0a035', 'rel': 'bookmark'}]}, {'uuid': '1d1f2757-ef0e-4413-857e-421a40c1fb61', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/1d1f2757-ef0e-4413-857e-421a40c1fb61', 'rel': 'self'}, {'href': 'http://localhost/portgroups/1d1f2757-ef0e-4413-857e-421a40c1fb61', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=1d1f2757-ef0e-4413-857e-421a40c1fb61'} GET: /v1/portgroups/detail {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, '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'}], 'created_at': '2020-05-04T22:35:03.070717+00:00', 'updated_at': None}]} GET: /v1/portgroups/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/portgroups?detail=True {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, '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'}], 'created_at': '2020-05-04T22:35:03.229525+00:00', 'updated_at': None}]} GET: /v1/portgroups {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?detail=False {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}]}]} GET: /v1/portgroups/detail?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f122ae6a-a85f-47ff-a5a7-c1222489cae4 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/portgroups?detail=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bb68e5e6-97d6-4d20-b9aa-bf59630868ff X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_and_fields [0.065309s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_false_and_fields [0.150618s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_not_allowed [0.130303s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_old_version [0.063221s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_empty [0.056128s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_address_normalized [0.088957s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_internal_info_not_allowed [0.055891s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_pagination_no_uuid [0.087745s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_custom_fields_invalid_fields [0.068215s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_custom_fields [0.103176s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_invalid_api_version [0.053820s] ... ok 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-5c4c12de-322d-4ead-9504-efc759363869 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\", \"debuginfo\": null}"} 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-c2e8c837-5b3c-44dc-bd63-bdfa1a44b0ea X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/node_id', 'op': 'remove'}'. Reason: can't remove non-existent object 'node_id'\", \"debuginfo\": null}"} 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-f3ae6ee5-0c80-4c2b-8fdd-bc1ca2455f56 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} 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-8c7c784c-4aad-47ae-8fd1-fbf95d670382 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\", \"debuginfo\": null}"} 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-41169c94-4e65-47ee-bcf9-de5c8147718d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/node_id', 'op': 'replace', 'value': '1'}'. Reason: can't replace non-existent object 'node_id'\", \"debuginfo\": null}"} 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-4e86f210-bad5-43df-abcd-87ab60122a32 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "pg.1", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:03.423428+00:00", "updated_at": null} PATCH: /v1/portgroups/pg.1 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e81d9106-55cb-494e-ae83-ddef1fddde21 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "pg.1", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:03.514119+00:00", "updated_at": null} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-ab0ad72b-4a1b-4564-88d1-84e92d605893 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.39 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update portgroup \\\"6eb02b44-18a3-4659-8c0b-8d2802581ae4\\\" on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"} 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-376155b5-e693-43e9-b1df-329f2f5eb39f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "pg.1", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:03.747632+00:00", "updated_at": null} 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-1b9ddf8a-f0fd-4549-a7c5-e28720c06093 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/internal_info' is an internal attribute and can not be updated\", \"debuginfo\": null}"} 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-b7e6e80a-efd2-4736-b66b-d4be160d062d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "pg.1", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": false, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:03.894371+00:00", "updated_at": null}{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported [0.095314s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_add_extra_vif_port_id_deprecated [0.108752s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_mode_field_lower_api_version [0.069110s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_add_extra_vif_port_id_diff_internal [0.154312s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json_in_name [0.072792s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_suffix [0.068336s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_remove_extra_vif_port_id [0.098666s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_remove_extra_vif_port_id_not_internal [0.100014s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_links [0.138479s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_default_mode [0.079833s] ... ok GET: /v1/portgroups?detail=False&fields=internal_info {} GOT:{'portgroups': [{'internal_info': {'bar': 'buzz'}, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-52cd0b72-a9db-4877-aeaa-fcd53abb12f8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.42 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid query parameter ?detail=True received.\", \"debuginfo\": null}"} GET: /v1/portgroups {} GOT:{'portgroups': []} GET: /v1/portgroups?fields=address&limit=2 {} GOT:{'portgroups': [{'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/portgroups/26ddf9b7-9833-4f6e-a1e8-a1bd287e2922', 'rel': 'self'}, {'href': 'http://localhost/portgroups/26ddf9b7-9833-4f6e-a1e8-a1bd287e2922', 'rel': 'bookmark'}]}, {'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/portgroups/4b9df622-52aa-4c7e-a101-5f029a8d6d15', 'rel': 'self'}, {'href': 'http://localhost/portgroups/4b9df622-52aa-4c7e-a101-5f029a8d6d15', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=4b9df622-52aa-4c7e-a101-5f029a8d6d15'} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e53def6d-8c8a-4d26-bdea-494c9c36ea7a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,extra {} GOT:{'address': '52:54:00:cf:2d:31', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}]} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=address,mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cb1dd373-6413-41c3-bac4-f4a0bd0b1ae9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'pg.json', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, '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'}], 'created_at': '2020-05-04T22:35:04.201050+00:00', 'updated_at': None} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'pg.1', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, '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'}], 'created_at': '2020-05-04T22:35:04.273332+00:00', 'updated_at': None} GET: /v1/portgroups/7a0d5c6e-b649-4c77-9206-a25915aca960 {} GOT:{'uuid': '7a0d5c6e-b649-4c77-9206-a25915aca960', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/7a0d5c6e-b649-4c77-9206-a25915aca960', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7a0d5c6e-b649-4c77-9206-a25915aca960', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, 'ports': [{'href': 'http://localhost/v1/portgroups/7a0d5c6e-b649-4c77-9206-a25915aca960/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7a0d5c6e-b649-4c77-9206-a25915aca960/ports', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:04.343547+00:00', 'updated_at': None} GET: /v1/portgroups/7a0d5c6e-b649-4c77-9206-a25915aca960 {} GOT:{'uuid': '7a0d5c6e-b649-4c77-9206-a25915aca960', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/7a0d5c6e-b649-4c77-9206-a25915aca960', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7a0d5c6e-b649-4c77-9206-a25915aca960', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, 'ports': [{'href': 'http://localhost/v1/portgroups/7a0d5c6e-b649-4c77-9206-a25915aca960/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7a0d5c6e-b649-4c77-9206-a25915aca960/ports', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:04.343547+00:00', 'updated_at': None} GET: /portgroups/7a0d5c6e-b649-4c77-9206-a25915aca960 {} GOT:{'uuid': '7a0d5c6e-b649-4c77-9206-a25915aca960', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/7a0d5c6e-b649-4c77-9206-a25915aca960', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7a0d5c6e-b649-4c77-9206-a25915aca960', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, 'ports': [{'href': 'http://localhost/v1/portgroups/7a0d5c6e-b649-4c77-9206-a25915aca960/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7a0d5c6e-b649-4c77-9206-a25915aca960/ports', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:04.343547+00:00', 'updated_at': None} GET: /v1/portgroups {} GOT:{'portgroups': [{'uuid': 'eaddbfe6-1b84-49d3-8311-13d52cfcd404', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/eaddbfe6-1b84-49d3-8311-13d52cfcd404', 'rel': 'self'}, {'href': 'http://localhost/portgroups/eaddbfe6-1b84-49d3-8311-13d52cfcd404', 'rel': 'bookmark'}]}, {'uuid': '506f1a99-250a-455c-a050-59feafcbd4f4', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/506f1a99-250a-455c-a050-59feafcbd4f4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/506f1a99-250a-455c-a050-59feafcbd4f4', 'rel': 'bookmark'}]}, {'uuid': 'c48d79d9-84cd-432f-9956-2960f9cc2c18', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/c48d79d9-84cd-432f-9956-2960f9cc2c18', 'rel': 'self'}, {'href': 'http://localhost/portgroups/c48d79d9-84cd-432f-9956-2960f9cc2c18', 'rel': 'bookmark'}]}, {'uuid': '02b7391a-c8a9-4286-bdfb-19c3a3551c7c', 'address': '52:54:00:cf:2d:33', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/02b7391a-c8a9-4286-bdfb-19c3a3551c7c', 'rel': 'self'}, {'href': 'http://localhost/portgroups/02b7391a-c8a9-4286-bdfb-19c3a3551c7c', 'rel': 'bookmark'}]}, {'uuid': '0ae10fc4-adca-44fc-a36b-e001f599f6f0', 'address': '52:54:00:cf:2d:34', 'name': 'portgroup4', 'links': [{'href': 'http://localhost/v1/portgroups/0ae10fc4-adca-44fc-a36b-e001f599f6f0', 'rel': 'self'}, {'href': 'http://localhost/portgroups/0ae10fc4-adca-44fc-a36b-e001f599f6f0', 'rel': 'bookmark'}]}]}{0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_many [0.120160s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_one [0.070983s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_non_existent_address [0.088529s] ... ok PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/vif_port_id', 'value': 'foo', 'op': 'add'}, {'path': '/extra/vif_port_id', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b35a057e-c10d-4347-b298-5929ad8a3d1f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {"vif_port_id": "bar"}, "internal_info": {"bar": "buzz", "tenant_vif_port_id": "bar"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:03.996438+00:00", "updated_at": "2020-05-04T22:35:04.058210+00:00"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/vif_port_id', 'value': 'foo', 'op': 'add'}, {'path': '/extra/vif_port_id', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5623c56f-6b14-44d6-8a0d-da3a4006b384 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {"vif_port_id": "bar"}, "internal_info": {"tenant_vif_port_id": "original"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:04.122316+00:00", "updated_at": "2020-05-04T22:35:04.213681+00:00"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/vif_port_id', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5b23ee75-9145-4777-811d-3ddd47f6e285 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:04.254510+00:00", "updated_at": "2020-05-04T22:35:04.312266+00:00"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/vif_port_id', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1ef9d8af-7c40-47e6-b0f0-fbe2f9045bae X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:04.352761+00:00", "updated_at": "2020-05-04T22:35:04.414572+00:00"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-53ef07cf-3ab6-4db7-9e66-617a47e2f346 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:04.492131+00:00", "updated_at": null} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {'foo': 123}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-04b30c40-70eb-4dba-90ae-9f76d2c04d6f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {"foo": 123}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:04.571923+00:00", "updated_at": null} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'extra': {'foo': 123}, 'internal_info': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, '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'}], 'created_at': '2020-05-04T22:35:04.571923+00:00', 'updated_at': None}{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_doesnt_contain_id [0.177232s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_internal_info_not_allowed [0.119139s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_addr_format [0.075305s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_api_version [0.052507s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_node_uuid_format [0.050898s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource [0.321250s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_old_api_version [0.092370s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key [0.094307s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_properties [0.077370s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_invalid [0.064295s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_allowed [0.094149s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_node_uuid_not_found [0.061569s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_invalid [0.118152s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_no_extra [0.080561s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_not_allowed [0.054770s] ... ok POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'internal_info': 'info'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fdc6d932-1f92-4b0c-a300-8aeb5c515213 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute portgroup. Value: '{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'internal_info': 'info'}'. Value not a valid dict: info\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': 'invalid-format', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-14a1208b-9838-4a69-b8f5-e7c2bc852c1f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-24a0f7db-c10e-4d30-81aa-ba260c15ffca X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.14 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': 'invalid-format'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7ea97057-e4b3-4c92-8210-57387c9a97f2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received invalid-format.\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'mode': '802.3ad', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f2a03c06-4cee-4668-beb4-e302d899374e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'properties': {'bond_prop': 123}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ee123823-db3e-4075-bd10-ffc5645186a6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'mode': '802.3ad', 'properties': {'bond_prop': 123}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-2702b749-3633-43af-ab98-1d128e04781f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "802.3ad", "properties": {"bond_prop": 123}, "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"}], "created_at": "2020-05-04T22:35:05.142999+00:00", "updated_at": null} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'aa:bb_cc', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9b16eb10-9c06-4c09-b236-55efce148b92 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create portgroup with invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-427c6627-6e9e-4b29-9882-3f48c6562f32 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-8d35d9a4-00a0-4a09-b62c-8af85a40e373 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:05.354981+00:00", "updated_at": null} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-0e90f19e-535b-4d81-9d23-45e2012d4b94 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:05.431751+00:00", "updated_at": null}{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_node_uuid_to_node_id_mapping [0.077964s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_node_not_found [0.048146s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_version [0.120946s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_version_error [0.119105s] ... ok GET: /v1/portgroups {} GOT:{'portgroups': [{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?address=aa:bb:cc:dd:ee:ff {} GOT:{'portgroups': []} GET: /v1/portgroups/23d4adf9-31dc-4e7e-8c77-47c96db981aa/ports {} GOT:{'ports': [{'uuid': '43cc73ca-4229-4ff5-86bc-9af1aec6b6be', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/43cc73ca-4229-4ff5-86bc-9af1aec6b6be', 'rel': 'self'}, {'href': 'http://localhost/ports/43cc73ca-4229-4ff5-86bc-9af1aec6b6be', 'rel': 'bookmark'}]}, {'uuid': '7ffc844f-26a0-49f3-90cf-5db631f0a795', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/7ffc844f-26a0-49f3-90cf-5db631f0a795', 'rel': 'self'}, {'href': 'http://localhost/ports/7ffc844f-26a0-49f3-90cf-5db631f0a795', 'rel': 'bookmark'}]}]} GET: /v1/portgroups/23d4adf9-31dc-4e7e-8c77-47c96db981aa/ports/detail {} GOT:{'ports': [{'uuid': '43cc73ca-4229-4ff5-86bc-9af1aec6b6be', 'address': '52:54:00:cf:2d:30', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '23d4adf9-31dc-4e7e-8c77-47c96db981aa', 'pxe_enabled': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'links': [{'href': 'http://localhost/v1/ports/43cc73ca-4229-4ff5-86bc-9af1aec6b6be', 'rel': 'self'}, {'href': 'http://localhost/ports/43cc73ca-4229-4ff5-86bc-9af1aec6b6be', 'rel': 'bookmark'}], 'is_smartnic': False, 'created_at': '2020-05-04T22:35:04.798715+00:00', 'updated_at': None}, {'uuid': '7ffc844f-26a0-49f3-90cf-5db631f0a795', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': '23d4adf9-31dc-4e7e-8c77-47c96db981aa', 'pxe_enabled': True, 'local_link_connection': {'switch_id': '0a:1b:2c:3d:4e:5f', 'port_id': 'Ethernet3/1', 'switch_info': 'switch1'}, 'physical_network': None, 'links': [{'href': 'http://localhost/v1/ports/7ffc844f-26a0-49f3-90cf-5db631f0a795', 'rel': 'self'}, {'href': 'http://localhost/ports/7ffc844f-26a0-49f3-90cf-5db631f0a795', 'rel': 'bookmark'}], 'is_smartnic': False, 'created_at': '2020-05-04T22:35:04.801377+00:00', 'updated_at': None}]} GET: /v1/portgroups/23d4adf9-31dc-4e7e-8c77-47c96db981aa/ports?limit=1 {} GOT:{'ports': [{'uuid': '43cc73ca-4229-4ff5-86bc-9af1aec6b6be', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/43cc73ca-4229-4ff5-86bc-9af1aec6b6be', 'rel': 'self'}, {'href': 'http://localhost/ports/43cc73ca-4229-4ff5-86bc-9af1aec6b6be', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=43cc73ca-4229-4ff5-86bc-9af1aec6b6be'} GET: /v1/portgroups/23d4adf9-31dc-4e7e-8c77-47c96db981aa/ports/2a2401aa-067a-4a2a-8b38-c619b8d99a05 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/portgroups/23d4adf9-31dc-4e7e-8c77-47c96db981aa/ports/8e609f7e-3052-4867-9a87-90496247a378 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-3d415459-516e-43a2-87fb-833d2f83bc7e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} GET: /v1/portgroups?sort_key=uuid {} GOT:{'portgroups': [{'uuid': '70093568-41ac-4dc1-a79d-e922e7b9ef81', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/70093568-41ac-4dc1-a79d-e922e7b9ef81', 'rel': 'self'}, {'href': 'http://localhost/portgroups/70093568-41ac-4dc1-a79d-e922e7b9ef81', 'rel': 'bookmark'}]}, {'uuid': '737721da-084c-4765-a3e2-124081965f65', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/737721da-084c-4765-a3e2-124081965f65', 'rel': 'self'}, {'href': 'http://localhost/portgroups/737721da-084c-4765-a3e2-124081965f65', 'rel': 'bookmark'}]}, {'uuid': 'd4f3872e-e6f0-46ec-9688-e6395a109e96', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/d4f3872e-e6f0-46ec-9688-e6395a109e96', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d4f3872e-e6f0-46ec-9688-e6395a109e96', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?sort_key=mode {} GOT:{'portgroups': [{'uuid': '6af21cab-8aef-493e-9f4a-6aba7dd39c12', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/6af21cab-8aef-493e-9f4a-6aba7dd39c12', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6af21cab-8aef-493e-9f4a-6aba7dd39c12', 'rel': 'bookmark'}]}, {'uuid': 'ceb028db-a7c4-456c-970d-63d9f98965e8', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/ceb028db-a7c4-456c-970d-63d9f98965e8', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ceb028db-a7c4-456c-970d-63d9f98965e8', 'rel': 'bookmark'}]}, {'uuid': '8bff03a7-8227-4304-8c49-bae3b64ce1e3', 'address': '52:54:00:cf:2d:33', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/8bff03a7-8227-4304-8c49-bae3b64ce1e3', 'rel': 'self'}, {'href': 'http://localhost/portgroups/8bff03a7-8227-4304-8c49-bae3b64ce1e3', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6dcbefab-97d4-415f-94e7-5fafa6bda6b1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/portgroups?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-14de4e9f-16c8-4a28-b9d2-97b837b893a6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/portgroups?sort_key=internal_info {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c1813b36-5245-4e76-9e5d-649781fe63b6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value internal_info is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/portgroups?sort_key=properties {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eeab4b3c-e122-46cb-9187-635f4fddcdc5 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/portgroups?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-29c2c909-2526-4930-96c3-f2ddfebeb601 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} 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-c5d49125-77dd-4f96-a566-99ac9c1d1516 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "pg.1", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:05.454213+00:00", "updated_at": null}{0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_multi [0.121855s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_id [0.094461s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root [0.179567s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_fast_deploy_lookup [0.146417s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_address [0.086585s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_mode_not_allowed [0.054333s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_addresses [0.100995s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_only_uuid [0.073145s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_multi [0.145533s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_uuid [0.071153s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_address_already_exist [0.077908s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_no_restrict_lookup [0.070787s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_multi [0.091951s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_not_found [0.090866s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_nothing_provided [0.058520s] ... ok 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-88e96603-9b01-4897-ac80-436581d2702d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\", \"debuginfo\": null}"} 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-f33a9bc2-c27b-4c1a-b949-d70033b9b2c2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "pg.1", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:05.720881+00:00", "updated_at": null} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/address', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-90142586-4364-4efd-abfe-a94774790bcf X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": null, "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "pg.1", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:05.851933+00:00", "updated_at": null} 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-cd8ca642-108a-48a6-a2cd-f148db6bafd3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/mode' is a mandatory attribute and can not be removed\", \"debuginfo\": null}"} 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-8bb5d347-ba2b-4be5-b2ce-50465f241669 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {"foo2": "bar2", "foo3": "bar3"}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "pg.1", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:05.994433+00:00", "updated_at": "2020-05-04T22:35:05.999628+00:00"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a55baa4e-cf67-4bd2-af38-fe9eabab7218 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "pg.1", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:05.994433+00:00", "updated_at": "2020-05-04T22:35:05.999628+00:00"} 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-0586faa4-5848-4699-b9cb-3adaf0709ade X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\", \"debuginfo\": null}"} 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-1bd09c5d-9378-458a-83cf-1a13a645b128 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "pg.1", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:06.219324+00:00", "updated_at": "2020-05-04T22:35:06.224412+00:00"} 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-d939f0ce-b1e7-4cd3-bb05-15a7fabd02bd X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "pg.1", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:06.311063+00:00", "updated_at": null}{0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_uuid [0.091033s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_non_existent_node_uuid [0.068631s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_singular [0.117145s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_address_invalid_format [0.060812s] ... ok POST: /v1/heartbeat/1416a32d-2566-40a4-b786-ae45b1b67e0b {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1b73be50-458e-40c5-afe9-69e7fe308e6a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1416a32d-2566-40a4-b786-ae45b1b67e0b could not be found.\", \"debuginfo\": null}"} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_version': '1.4.1'} GOT:Response: 202 Accepted Openstack-Request-Id: req-6b8508b1-28e7-495b-a8af-d8ccf419641e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_version': '1.4.1'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a144bf2e-b885-4483-9691-5afa8a869582 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.35 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_version\\\" not recognised\", \"debuginfo\": null}"} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=333dfc2f-0922-46d3-a8b8-c1282c307b1e {} GOT:{'node': {'uuid': '333dfc2f-0922-46d3-a8b8-c1282c307b1e', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'links': [{'href': 'http://localhost/v1/nodes/333dfc2f-0922-46d3-a8b8-c1282c307b1e', 'rel': 'self'}, {'href': 'http://localhost/nodes/333dfc2f-0922-46d3-a8b8-c1282c307b1e', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=333dfc2f-0922-46d3-a8b8-c1282c307b1e {} GOT:{'node': {'uuid': '333dfc2f-0922-46d3-a8b8-c1282c307b1e', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'links': [{'href': 'http://localhost/v1/nodes/333dfc2f-0922-46d3-a8b8-c1282c307b1e', 'rel': 'self'}, {'href': 'http://localhost/nodes/333dfc2f-0922-46d3-a8b8-c1282c307b1e', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=333dfc2f-0922-46d3-a8b8-c1282c307b1e {} GOT:{'node': {'uuid': '333dfc2f-0922-46d3-a8b8-c1282c307b1e', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'links': [{'href': 'http://localhost/v1/nodes/333dfc2f-0922-46d3-a8b8-c1282c307b1e', 'rel': 'self'}, {'href': 'http://localhost/nodes/333dfc2f-0922-46d3-a8b8-c1282c307b1e', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:{'node': {'uuid': '62940842-54e3-4e73-82f8-5fda2576536c', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'links': [{'href': 'http://localhost/v1/nodes/62940842-54e3-4e73-82f8-5fda2576536c', 'rel': 'self'}, {'href': 'http://localhost/nodes/62940842-54e3-4e73-82f8-5fda2576536c', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300}} GET: /v1/lookup?node_uuid=d7a3f043-dfb7-4cdd-a44d-3666a789bf09 {} GOT:{'node': {'uuid': 'd7a3f043-dfb7-4cdd-a44d-3666a789bf09', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'links': [{'href': 'http://localhost/v1/nodes/d7a3f043-dfb7-4cdd-a44d-3666a789bf09', 'rel': 'self'}, {'href': 'http://localhost/nodes/d7a3f043-dfb7-4cdd-a44d-3666a789bf09', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=085950ba-bade-4295-91e0-9c898891528c {} GOT:{'node': {'uuid': '085950ba-bade-4295-91e0-9c898891528c', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'links': [{'href': 'http://localhost/v1/nodes/085950ba-bade-4295-91e0-9c898891528c', 'rel': 'self'}, {'href': 'http://localhost/nodes/085950ba-bade-4295-91e0-9c898891528c', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=69cd2270-dbf1-4378-adc7-1de41f532667 {} GOT:{'node': {'uuid': '69cd2270-dbf1-4378-adc7-1de41f532667', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'links': [{'href': 'http://localhost/v1/nodes/69cd2270-dbf1-4378-adc7-1de41f532667', 'rel': 'self'}, {'href': 'http://localhost/nodes/69cd2270-dbf1-4378-adc7-1de41f532667', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300}} 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-890b5689-9391-4f48-82e9-205952affd2b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/lookup {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8e404d9f-7d12-43cc-9e52-4892e9c08691 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\", \"debuginfo\": null}"} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=142ef302-6b5e-4a77-97c4-c000a9850f0d {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-c8f87830-fb4c-4f16-961b-19d37e85eb52 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_restrict_lookup [0.114752s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_ok [0.020298s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_high [0.021232s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_low [0.020843s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_invalid_value [0.027879s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_false_values [0.029016s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestEventType.test_missing_mandatory_fields_network_port_event [0.025504s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestEventType.test_simple_event_type [0.042703s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value [0.051072s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byaddress_not_allowed [0.107541s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr [0.012726s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value [0.012249s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op [0.012572s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_mandatory_attr [0.011869s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid_invalid_api_version [0.048885s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_path [0.012087s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestJsonType.test_valid_values [0.010152s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_local_link_keys_mandatory [0.009713s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_missing_local_link_mandatory_key [0.009981s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_smart_nic_keys_hostname_missing [0.010236s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_smart_nic_keys_mandatory [0.009620s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_invalid_mac_addr [0.009890s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestNameType.test_invalid_name [0.011049s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestUuidOrNameType.test_invalid_uuid_or_name [0.012347s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname_with_json [0.096659s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestUuidOrNameType.test_valid_name [0.010912s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestUuidOrNameType.test_valid_uuid [0.010847s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type [0.010474s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type_bad_id [0.010927s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch [0.010033s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields_fail [0.010337s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_remove [0.010170s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_similar_subpath [0.009502s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_trait [0.010758s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_dynamic_drivers [0.011339s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_allowed [0.115737s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inspect_abort [0.011190s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_links_node_states_and_driver_properties [0.011477s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_node_rebuild_with_configdrive [0.010793s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_no_pin [0.011635s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroup_mode_properties [0.010676s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_remove_chassis_uuid [0.011014s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_invalid_name [0.070361s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_rescue_interface [0.010991s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_storage_interface [0.011954s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs_fail [0.010917s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs [0.011282s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs [0.010543s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs_fail [0.010987s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_not_found [0.065876s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict [0.017085s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict_invalid [0.025828s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_fail [0.011490s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group [0.011355s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_none [0.010791s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs_fail [0.011331s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver [0.010778s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties [0.095605s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver_fail [0.012381s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields_fail [0.011664s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class_fail [0.012151s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_unknown_verbs [0.011343s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface_fail [0.012072s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_rescue_interface_fail [0.011573s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties_bad_api_version [0.083230s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties [0.012432s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties_fail [0.010981s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_post_name [0.010921s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_pre_name [0.011049s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_invalid_name [0.013552s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_invalid_name [0.011397s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_name [0.012824s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_uuid [0.012252s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy [0.014715s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_get_controller_reserved_names [0.011724s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach [0.014183s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_byte_to_byte [0.013408s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_sync [0.012474s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_duplicates [0.014155s] ... ok 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-ea243355-3ae8-4053-933f-1447fd7e9157 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} 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-489329a2-4176-4478-bb63-cb9513128bb3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "pg.1", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:06.483242+00:00", "updated_at": null} 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-68108f65-3757-4c62-aab1-07763385ecaf X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received invalid-format.\", \"debuginfo\": null}"} 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": "{\"code\": 400, \"title\": \"Bad Request\", \"description\": \"Expected a logical name or UUID but received 52:54:00:cf:2d:31.\"}"} 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": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} PATCH: /v1/portgroups/pg.1.json [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-668e18ae-008e-4834-8b89-d970b78bac86 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {"foo": "bar"}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "pg.1", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:06.811056+00:00", "updated_at": null} 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-ebf2fdc5-3fc4-4649-981b-6881f6467a92 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "pg.1", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:06.910464+00:00", "updated_at": null} PATCH: /v1/portgroups/pg.1 [{'path': '/name', 'value': 'aa:bb_cc', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c2c21adc-39ff-43fe-aa54-d9548dcfe2df X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup pg.1: Cannot change name to invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} PATCH: /v1/portgroups/dc75b9b9-bc13-48ae-a4d4-0940213ce1e6 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bdcf04d9-3313-4c30-91bc-49495931c70e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup dc75b9b9-bc13-48ae-a4d4-0940213ce1e6 could not be found.\", \"debuginfo\": null}"} 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-7f206ace-2400-4e68-94b7-3e7db9154d44 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "pg.1", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "802.3ad", "properties": {"bond_param": "100"}, "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"}], "created_at": "2020-05-04T22:35:07.164593+00:00", "updated_at": null} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/mode', 'op': 'add', 'value': '802.3ad'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-93fec41f-931a-4806-b4f7-32b541800855 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/properties/abc', 'op': 'add', 'value': 123}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-762609fd-b44b-46e9-83d9-6bce9fd824c6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.25 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/standalone_ports_supported', 'value': False, 'op': 'replace'}]{0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported_bad_api_version [0.076299s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume_invalid_api_version [0.063160s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_add_extra_vif_port_id [0.174245s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid [0.073500s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_remove_extra_vif_port_id_not_same [0.097533s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_node_locked [0.084615s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_replace_extra_vif_port_id [0.099954s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPortgroupObject.test_portgroup_init [0.010834s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_custom_fields [0.102501s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup [0.112137s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail [0.074437s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_false [0.074536s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_already_exist [0.108233s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_invalid_api_version [0.041732s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_sepecified_by_path [0.063223s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_all_by_node_name_ok [0.105197s] ... ok GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/vif_port_id', 'value': 'foo', 'op': 'add'}, {'path': '/extra/vif_port_id', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d421f8d8-698b-4b68-b0cb-07b44588fabb X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {"vif_port_id": "bar"}, "internal_info": {"bar": "buzz", "tenant_vif_port_id": "bar"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:07.443087+00:00", "updated_at": "2020-05-04T22:35:07.555960+00:00"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/vif_port_id', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-6213e287-2ef7-4de9-8428-291a04c3cfa4 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {"bar": "buzz", "tenant_vif_port_id": "bar"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:07.596434+00:00", "updated_at": "2020-05-04T22:35:07.655239+00:00"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 [{'path': '/extra/vif_port_id', 'value': 'foo', 'op': 'add'}, {'path': '/extra/vif_port_id', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-819a5da8-b428-49a8-858d-66482a45666f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {"vif_port_id": "bar"}, "internal_info": {"tenant_vif_port_id": "bar"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:07.694557+00:00", "updated_at": "2020-05-04T22:35:07.756076+00:00"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-947ba444-ddd4-47e0-ab51-2eb6c27f49df X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, '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'}], 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-73bc6be8-fc3e-47d6-9175-6ff4690ce780 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "aa:aa:aa:11:22:33", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:07.955415+00:00", "updated_at": null} POST: /v1/portgroups {'uuid': '07fdf70e-6cb2-400a-9ff3-83cbcddff9bf', 'name': '66787f2e-7556-460d-bb5a-e48414f1ceea', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-f2c89f58-d0e3-4cc7-b12f-d35bb3f4e2f6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A portgroup with MAC address aa:aa:aa:11:22:33 already exists.\", \"debuginfo\": null}"} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': 'AA:BB:CC:DD:EE:FF', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-d61e7acb-73eb-40e9-bc38-921d5616935f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "aa:bb:cc:dd:ee:ff", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:08.067281+00:00", "updated_at": null}{0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_normalized [0.133152s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_error [0.131900s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_custom_fields [0.134891s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_generate_uuid [0.113224s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one [0.075710s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_invalid_api_version [0.045172s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_ok [0.115961s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_address [0.112311s] ... ok GET: /v1/volume/ {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-5339283a-89a6-470b-a655-dfe4ccae2e47 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-2e4504c6-e247-4284-af74-8271f823abc3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-295bdc58-5b9e-4865-9b51-be9d644f3318 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} GET: /v1/volume/connectors?fields=uuid,extra {} GOT:{'connectors': [{'uuid': 'd1482698-8635-453a-9de2-735a6dd579ff', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/d1482698-8635-453a-9de2-735a6dd579ff', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/d1482698-8635-453a-9de2-735a6dd579ff', 'rel': 'bookmark'}]}, {'uuid': '020d7a51-95c9-4025-9a84-0ade4ca53aab', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/020d7a51-95c9-4025-9a84-0ade4ca53aab', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/020d7a51-95c9-4025-9a84-0ade4ca53aab', 'rel': 'bookmark'}]}, {'uuid': '0779f0d9-8d31-4923-b68d-002c3dbc06b9', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/0779f0d9-8d31-4923-b68d-002c3dbc06b9', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/0779f0d9-8d31-4923-b68d-002c3dbc06b9', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=0779f0d9-8d31-4923-b68d-002c3dbc06b9'} GET: /v1/volume/connectors?detail=True {} GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'created_at': '2020-05-04T22:35:07.852578+00:00', 'updated_at': None}]} GET: /v1/volume/connectors?detail=False {} GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]}]} GET: /v1/volume/connectors?detail=True {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/volume/connectors/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7007ea4b-efc7-4e8b-b6ca-62b2db53b4f8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute connector_uuid. Value: 'detail'. unable to convert to uuid. Error: Expected a UUID but received detail.\", \"debuginfo\": null}"} GET: /v1/volume/connectors?node=test-node {} GOT:{'connectors': [{'uuid': '6d4f6a63-f92b-4ef0-a15e-00ca3ef76da0', 'type': 'iqn', 'connector_id': 'test-value-0', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/6d4f6a63-f92b-4ef0-a15e-00ca3ef76da0', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/6d4f6a63-f92b-4ef0-a15e-00ca3ef76da0', 'rel': 'bookmark'}]}, {'uuid': '52fab15a-6a42-46da-913e-7cc9cf74494a', 'type': 'iqn', 'connector_id': 'test-value-1', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/52fab15a-6a42-46da-913e-7cc9cf74494a', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/52fab15a-6a42-46da-913e-7cc9cf74494a', 'rel': 'bookmark'}]}, {'uuid': 'd1807fa5-e866-4c1e-bc31-11047f08205d', 'type': 'iqn', 'connector_id': 'test-value-2', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/d1807fa5-e866-4c1e-bc31-11047f08205d', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/d1807fa5-e866-4c1e-bc31-11047f08205d', 'rel': 'bookmark'}]}]} GET: /v1/volume/connectors?fields=uuid,extra {} GOT:{'connectors': [{'uuid': 'b08eb560-2138-4db4-b5fe-1202c0832300', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/b08eb560-2138-4db4-b5fe-1202c0832300', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/b08eb560-2138-4db4-b5fe-1202c0832300', 'rel': 'bookmark'}]}, {'uuid': 'ae7a3fd3-99f3-42bc-96f6-d892bd109eb9', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/ae7a3fd3-99f3-42bc-96f6-d892bd109eb9', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ae7a3fd3-99f3-42bc-96f6-d892bd109eb9', 'rel': 'bookmark'}]}, {'uuid': '455d684c-95fa-4f83-9647-ecb0ec58a750', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/455d684c-95fa-4f83-9647-ecb0ec58a750', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/455d684c-95fa-4f83-9647-ecb0ec58a750', 'rel': 'bookmark'}]}]} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'created_at': '2020-05-04T22:35:08.360349+00:00', 'updated_at': None} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/volume/connectors/e6023868-008d-4fd8-b4dd-e76b6c927d7e {} GOT:{'uuid': 'e6023868-008d-4fd8-b4dd-e76b6c927d7e', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/e6023868-008d-4fd8-b4dd-e76b6c927d7e', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/e6023868-008d-4fd8-b4dd-e76b6c927d7e', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:08.484061+00:00', 'updated_at': None} GET: /v1/volume/connectors/e6023868-008d-4fd8-b4dd-e76b6c927d7e {} GOT:{'uuid': 'e6023868-008d-4fd8-b4dd-e76b6c927d7e', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/e6023868-008d-4fd8-b4dd-e76b6c927d7e', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/e6023868-008d-4fd8-b4dd-e76b6c927d7e', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:08.484061+00:00', 'updated_at': None} GET: /volume/connectors/e6023868-008d-4fd8-b4dd-e76b6c927d7e {} GOT:{'uuid': 'e6023868-008d-4fd8-b4dd-e76b6c927d7e', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/e6023868-008d-4fd8-b4dd-e76b6c927d7e', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/e6023868-008d-4fd8-b4dd-e76b6c927d7e', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:08.484061+00:00', 'updated_at': None}{1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_links [0.162837s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one_invalid_api_version [0.063091s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key [0.179429s] ... ok GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': 'aa:bb:cc:dd:ee:ff', 'extra': {}, 'internal_info': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, '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'}], 'created_at': '2020-05-04T22:35:08.067281+00:00', 'updated_at': None} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-aa75473e-7b15-49b6-9169-b88cc2ab7a7e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/portgroups {'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/5986ff67-ff1d-49d4-ad80-fc591bae5072 Openstack-Request-Id: req-3bc90a62-0631-46cf-9dd9-80f39a5a8e45 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "5986ff67-ff1d-49d4-ad80-fc591bae5072", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/5986ff67-ff1d-49d4-ad80-fc591bae5072", "rel": "self"}, {"href": "http://localhost/portgroups/5986ff67-ff1d-49d4-ad80-fc591bae5072", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "ports": [{"href": "http://localhost/v1/portgroups/5986ff67-ff1d-49d4-ad80-fc591bae5072/ports", "rel": "self"}, {"href": "http://localhost/portgroups/5986ff67-ff1d-49d4-ad80-fc591bae5072/ports", "rel": "bookmark"}], "created_at": "2020-05-04T22:35:08.340505+00:00", "updated_at": null} GET: /v1/portgroups/5986ff67-ff1d-49d4-ad80-fc591bae5072 {} GOT:{'uuid': '5986ff67-ff1d-49d4-ad80-fc591bae5072', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/5986ff67-ff1d-49d4-ad80-fc591bae5072', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5986ff67-ff1d-49d4-ad80-fc591bae5072', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, 'ports': [{'href': 'http://localhost/v1/portgroups/5986ff67-ff1d-49d4-ad80-fc591bae5072/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/5986ff67-ff1d-49d4-ad80-fc591bae5072/ports', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:08.340505+00:00', 'updated_at': None} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'foo', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-eb71c5be-f2bf-4f00-8b2a-726dee02d885 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "aa:aa:aa:11:22:33", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "foo", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:08.455963+00:00", "updated_at": null} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': 'aa:aa:aa:11:22:33', 'extra': {}, 'internal_info': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'foo', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, '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'}], 'created_at': '2020-05-04T22:35:08.455963+00:00', 'updated_at': None} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-255a3398-fc84-422a-a258-b4ef86658c82 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": null, "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:08.569209+00:00", "updated_at": null} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': None, 'extra': {}, 'internal_info': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, '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'}], 'created_at': '2020-05-04T22:35:08.569209+00:00', 'updated_at': None} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e925836c-834c-4ec5-bccf-4cb9e541a625 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_mandatory_field_node_uuid [0.060408s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_v123 [0.158793s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key_invalid [0.135005s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_valid_extra [0.172733s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_extra_vif_port_id [0.079122s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_multi [0.094997s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_id [0.061403s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_extra_vif_port_id_deprecated [0.077635s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_hyphens_delimiter [0.051268s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_node_id [0.063867s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_connector_id_already_exist [0.085301s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_multi [0.146247s] ... ok POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-c89a6c9f-4e73-43db-b2ce-bd93b996d836 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.23 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, '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'}], 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-3e31b084-cca9-4730-8e05-40dd36a19ebe X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "internal_info": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:08.961761+00:00", "updated_at": null} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'address': '52:54:00:cf:2d:31', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'internal_info': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'fooname', 'links': [{'href': 'http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, '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'}], 'created_at': '2020-05-04T22:35:08.961761+00:00', 'updated_at': None} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {'vif_port_id': 'foo'}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-3c69ee66-7ef3-43e7-89ba-54aa5b953453 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {"vif_port_id": "foo"}, "internal_info": {"tenant_vif_port_id": "foo"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:09.076458+00:00", "updated_at": null} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52:54:00:cf:2d:31', 'extra': {'vif_port_id': 'foo'}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-a868c11a-ac19-45fb-b624-d816977512cd X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "6eb02b44-18a3-4659-8c0b-8d2802581ae4", "address": "52:54:00:cf:2d:31", "extra": {"vif_port_id": "foo"}, "internal_info": {"tenant_vif_port_id": "foo"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": "fooname", "links": [{"href": "http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "self"}, {"href": "http://localhost/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "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"}], "created_at": "2020-05-04T22:35:09.155076+00:00", "updated_at": null} POST: /v1/portgroups {'uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'name': 'fooname', 'address': '52-54-00-cf-2d-31', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-44857272-00c8-40e7-b994-59eb0108acc3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received 52-54-00-cf-2d-31.\", \"debuginfo\": null}"} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url'} GOT:Response: 202 Accepted Openstack-Request-Id: req-27d4c092-499e-49ac-a719-e0659bf92e76 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok [0.076501s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_by_name [0.085747s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_with_json [0.057921s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_version [0.048900s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_id [0.080045s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_ignore_malformed_address [0.102646s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid [0.093595s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_old_api_version [0.057573s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_invalid_major_version [0.010755s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_route_checks_version [0.038845s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_non_existent_node_uuid [0.071870s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values [0.010613s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestEventType.test_event_missing_madatory_field [0.009641s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestEventType.test_invalid_event_type [0.010061s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestEventType.test_invalid_mac_network_port_event [0.009901s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestEventType.test_network_port_event [0.009367s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr [0.024590s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr [0.011689s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_dict_attr [0.018154s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path [0.018714s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_op [0.017929s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches [0.013060s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestJsonType.test_apimultitype_tostring [0.010095s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestJsonType.test_invalid_values [0.009694s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestListType.test_list_type [0.010816s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type [0.017121s] ... ok GET: /v1/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/volume/connectors?sort_key=uuid {} GOT:{'connectors': [{'uuid': '6d8aa10d-45d3-4f63-a2d0-b6ed4b48b747', 'type': 'iqn', 'connector_id': 'test-connector_id-1', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/6d8aa10d-45d3-4f63-a2d0-b6ed4b48b747', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/6d8aa10d-45d3-4f63-a2d0-b6ed4b48b747', 'rel': 'bookmark'}]}, {'uuid': '9ab9c2f6-d51e-4844-bb8e-3782ddb858f4', 'type': 'iqn', 'connector_id': 'test-connector_id-2', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/9ab9c2f6-d51e-4844-bb8e-3782ddb858f4', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/9ab9c2f6-d51e-4844-bb8e-3782ddb858f4', 'rel': 'bookmark'}]}, {'uuid': 'a872513f-612a-41f5-8937-f6700946c260', 'type': 'iqn', 'connector_id': 'test-connector_id-0', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/a872513f-612a-41f5-8937-f6700946c260', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/a872513f-612a-41f5-8937-f6700946c260', 'rel': 'bookmark'}]}]} GET: /v1/volume/connectors?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b4f51000-addc-4a1c-bca7-c2ee2df6ea15 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/volume/connectors?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3bbe088f-dcae-42f4-82fb-f475edc7296a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} 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-1e8a3886-4d60-448d-88fe-5b16b7da1b3b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "type": "iqn", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:09.027699+00:00", "updated_at": null} 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-68d9cbd6-3d7b-4f19-94fb-b84098912d01 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\", \"debuginfo\": null}"} 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-a9c34e26-8ab5-4cc6-9101-de24a4038a1b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/node_id', 'op': 'remove'}'. Reason: can't remove non-existent object 'node_id'\", \"debuginfo\": null}"} 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-3d897195-16b7-461c-8617-55a541ba6fd2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type None and connector ID test-connector-id-123 already exists.\", \"debuginfo\": null}"} 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-11ceb270-f207-405c-9080-d659073ad710 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "type": "iqn", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:09.337063+00:00", "updated_at": "2020-05-04T22:35:09.342007+00:00"} 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-a4763acf-b809-4c83-93fb-a489b26ccb8b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/node_id', 'op': 'replace', 'value': '1'}'. Reason: can't replace non-existent object 'node_id'\", \"debuginfo\": null}"} 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-e8c545ae-d6fd-4e1b-ab59-3e9ed954be21 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "type": "iqn", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:09.568059+00:00", "updated_at": null} 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-49672741-83ed-4c54-bccd-d33593123170 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} 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-5b591f76-d3cf-4811-8cac-6e6f399ccee6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "type": "iqn", "connector_id": "test-connector-id-999", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:09.735836+00:00", "updated_at": null}{1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_singular [0.092544s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_invalid_api_version [0.040749s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_not_found [0.081942s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_datapath_id [0.032418s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_empty_value [0.005719s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_invalid_key [0.011969s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_not_mac_or_datapath_id [0.009482s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_smart_nic_keys_port_id_missing [0.009357s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector [0.162133s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_node_uuid [0.050622s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_smart_nic_keys_with_optional [0.199874s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_valid_mac_addr [0.010180s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name [0.009934s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_valid_extra [0.117636s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid [0.010681s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid [0.009210s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type_missing_mandatory_key [0.009587s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type_optional_key [0.009587s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_no_add_root_attr [0.009364s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_remove_non_existent [0.009665s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_replace_non_existent_list_item [0.010144s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields [0.009337s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_node_uuid_to_node_id_mapping [0.087237s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_multiple_success [0.010159s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_no_path [0.009528s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_success [0.009251s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_replace [0.009055s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_subpath_success [0.009360s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_success [0.009027s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_similar_subpath [0.009261s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_invalid_power_state [0.076410s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_subpath_success [0.010565s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_success [0.009326s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit [0.009626s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir [0.009705s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_templates [0.010340s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inject_nmi [0.010449s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_advanced_net_fields [0.010138s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_internal_info [0.010424s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_node_locked [0.083854s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_is_smartnic [0.010547s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_pin [0.011290s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups [0.010417s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups_subcontrollers [0.011396s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_ramdisk_endpoints [0.010092s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_traits [0.010362s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_volume [0.010109s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs [0.010414s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs_fail [0.010400s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_custom_fields [0.109432s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive [0.015854s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_fails [0.012640s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail [0.010479s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_false [0.010657s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_none [0.010264s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_fail [0.011001s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type [0.026714s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_fail [0.011347s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_none [0.010637s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs [0.012684s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs_fail [0.011457s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs [0.010851s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs [0.011993s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs_fail [0.018623s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields [0.010009s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class [0.025757s] ... ok PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} PATCH: /v1/volume/connectors/484f043f-afa2-470c-926f-c7bdcab19b41 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-33e9e9ac-34bf-4ab3-aee7-149d283dafd5 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 484f043f-afa2-470c-926f-c7bdcab19b41 could not be found.\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-a1d1accb-9abf-4f02-887b-07cd3d72afe6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "type": "iqn", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f053bd80-8feb-419d-a543-25de8dd761dd X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-c376d010-0101-4944-aeb6-51235d8cf665 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "type": "iqn", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:10.205486+00:00", "updated_at": null} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'created_at': '2020-05-04T22:35:10.205486+00:00', 'updated_at': None} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-e6705299-e1d9-482b-b1a7-7a5dc39b8eb5 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "type": "iqn", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:10.328602+00:00", "updated_at": null} DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-96b223d7-2271-4100-b59f-c9bd402ccb58 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume target deletion\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-60c2f216-35ae-493d-9836-4e870b77a944 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} GET: /v1/volume/targets?fields=uuid,extra {} GOT:{'targets': [{'uuid': 'c43dd36f-168a-4adf-8d90-1fe867212272', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/c43dd36f-168a-4adf-8d90-1fe867212272', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/c43dd36f-168a-4adf-8d90-1fe867212272', 'rel': 'bookmark'}]}, {'uuid': '4b3e068b-b233-4759-9366-1ca07debde21', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/4b3e068b-b233-4759-9366-1ca07debde21', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/4b3e068b-b233-4759-9366-1ca07debde21', 'rel': 'bookmark'}]}, {'uuid': 'e3383e43-ead6-4fb3-b96c-a69c30bcbe7a', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/e3383e43-ead6-4fb3-b96c-a69c30bcbe7a', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/e3383e43-ead6-4fb3-b96c-a69c30bcbe7a', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=e3383e43-ead6-4fb3-b96c-a69c30bcbe7a'} 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-b6bfdf9a-c3ce-444f-b8ad-d1d39e377de9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\", \"debuginfo\": null}"}{0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface [0.010231s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_and_fields [0.069310s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_by_node_name_ok [0.114403s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_invalid_api_version [0.042157s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class [0.030210s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class_fail [0.010439s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_name_no_logical_name [0.011046s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_uuid_no_logical_name [0.011738s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_pagination_no_uuid [0.104877s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_name [0.013101s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_uuid [0.011462s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_is_valid_node_name [0.010191s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy_forbidden [0.011966s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_async [0.011095s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_sync [0.010837s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_custom_fields_invalid_fields [0.079723s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_method_not_specified [0.010218s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_async [0.010952s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_unicode_to_byte [0.011604s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned [0.009278s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned_in_release_mappings [0.009255s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_pinned [0.014430s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_max_ver_str [0.009684s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_min_ver_str [0.009376s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_name_value_match [0.010682s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_links [0.155723s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_many [0.120841s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume [0.190817s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid_invalid_api_version [0.037817s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_invalid_power_state [0.073799s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one_invalid_api_version [0.224292s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links [0.099986s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key [0.096289s] ... ok POST: /v1/heartbeat/test.1 {'callback_url': 'url'} GOT:Response: 202 Accepted Openstack-Request-Id: req-d03c0f98-e7e1-493b-ba87-276e88462547 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {'callback_url': 'url'} GOT:Response: 202 Accepted Openstack-Request-Id: req-472f6be5-09d6-457f-a8f8-045a3d5b627f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 POST: /v1/heartbeat/4fd8b117-09b7-4c3e-96ec-008e635a4bb7 {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-25434625-16ea-4d20-b20a-4ae3c92c6ee9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} 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:{'node': {'uuid': '20214e16-dc55-4646-8112-46a77fbe0a39', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'links': [{'href': 'http://localhost/v1/nodes/20214e16-dc55-4646-8112-46a77fbe0a39', 'rel': 'self'}, {'href': 'http://localhost/nodes/20214e16-dc55-4646-8112-46a77fbe0a39', 'rel': 'bookmark'}]}, 'config': {'metrics': {'backend': 'statsd', 'prepend_host': False, 'prepend_uuid': False, 'prepend_host_reverse': True, 'global_prefix': None}, 'metrics_statsd': {'statsd_host': 'localhost', 'statsd_port': 8125}, 'heartbeat_timeout': 300}} 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-09eae10e-f933-4e7c-9567-d8f2f28e7b54 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} GET: /v1/ {} GOT:{'id': 'v1', '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', 'rel': 'describedby', 'type': 'text/html'}], 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'version': '1.58', 'min_version': '1.1'}} GET: /v1/volume/ {} GOT:{'links': [{'href': 'http://localhost/v1/volume/', 'rel': 'self'}, {'href': 'http://localhost/volume/', 'rel': 'bookmark'}], 'connectors': [{'href': 'http://localhost/v1/volume/connectors', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors', 'rel': 'bookmark'}], 'targets': [{'href': 'http://localhost/v1/volume/targets', 'rel': 'self'}, {'href': 'http://localhost/volume/targets', 'rel': 'bookmark'}]} GET: /v1/volume/ {} GOT:{'links': [{'href': 'http://localhost/v1/volume/', 'rel': 'self'}, {'href': 'http://localhost/volume/', 'rel': 'bookmark'}], 'connectors': [{'href': 'http://localhost/v1/volume/connectors', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors', 'rel': 'bookmark'}], 'targets': [{'href': 'http://localhost/v1/volume/targets', 'rel': 'self'}, {'href': 'http://localhost/volume/targets', 'rel': 'bookmark'}]} GET: /volume/ {} GOT:{'links': [{'href': 'http://localhost/v1/volume/', 'rel': 'self'}, {'href': 'http://localhost/volume/', 'rel': 'bookmark'}], 'connectors': [{'href': 'http://localhost/v1/volume/connectors', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors', 'rel': 'bookmark'}], 'targets': [{'href': 'http://localhost/v1/volume/targets', 'rel': 'self'}, {'href': 'http://localhost/volume/targets', 'rel': 'bookmark'}]} GET: /v1/volume/connectors {} GOT:{'connectors': []} GET: /volume/connectors {} GOT:{'connectors': []} GET: /v1/volume/targets {} GOT:{'targets': []} GET: /volume/targets {} GOT:{'targets': []} DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-958a05cc-9a4f-46f5-9bde-a028d4796c78 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume connector deletion\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} GET: /v1/volume/connectors/?limit=3 {} GOT:{'connectors': [{'uuid': '1f0bc9ef-30e2-4878-91b7-6c1450632e51', 'type': 'iqn', 'connector_id': 'test-connector_id-0', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/1f0bc9ef-30e2-4878-91b7-6c1450632e51', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1f0bc9ef-30e2-4878-91b7-6c1450632e51', 'rel': 'bookmark'}]}, {'uuid': '1c25572a-585a-4875-a7b8-e5ac640f7a6b', 'type': 'iqn', 'connector_id': 'test-connector_id-1', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/1c25572a-585a-4875-a7b8-e5ac640f7a6b', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1c25572a-585a-4875-a7b8-e5ac640f7a6b', 'rel': 'bookmark'}]}, {'uuid': 'e2ba77b4-5254-4a48-9b88-130e9c9a6897', 'type': 'iqn', 'connector_id': 'test-connector_id-2', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/e2ba77b4-5254-4a48-9b88-130e9c9a6897', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/e2ba77b4-5254-4a48-9b88-130e9c9a6897', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,type,connector_id&limit=3&marker=e2ba77b4-5254-4a48-9b88-130e9c9a6897'} GET: /v1/volume/connectors {} GOT:{'connectors': [{'uuid': '6eb42f63-c349-46e0-bc39-b5e56de42f73', 'type': 'iqn', 'connector_id': 'test-connector_id-0', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/6eb42f63-c349-46e0-bc39-b5e56de42f73', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/6eb42f63-c349-46e0-bc39-b5e56de42f73', 'rel': 'bookmark'}]}, {'uuid': 'ccb22d4b-ceac-444b-a90f-04ac710d0b41', 'type': 'iqn', 'connector_id': 'test-connector_id-1', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/ccb22d4b-ceac-444b-a90f-04ac710d0b41', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ccb22d4b-ceac-444b-a90f-04ac710d0b41', 'rel': 'bookmark'}]}, {'uuid': 'f216c294-e7cc-4431-887e-c0a66c6bbfbb', 'type': 'iqn', 'connector_id': 'test-connector_id-2', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/f216c294-e7cc-4431-887e-c0a66c6bbfbb', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/f216c294-e7cc-4431-887e-c0a66c6bbfbb', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,type,connector_id&limit=3&marker=f216c294-e7cc-4431-887e-c0a66c6bbfbb'}{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_default_limit [0.109633s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_detail [0.143318s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_against_single [0.118046s] ... ok GET: /v1/volume/targets?detail=True&node=test-node {} GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'created_at': '2020-05-04T22:35:10.714963+00:00', 'updated_at': None}]} GET: /v1/volume/targets?detail=True {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/volume/targets?fields=boot_index&limit=2 {} GOT:{'targets': [{'boot_index': 0, 'links': [{'href': 'http://localhost/v1/volume/targets/79484896-9cbf-4262-947a-50a7074ccc31', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/79484896-9cbf-4262-947a-50a7074ccc31', 'rel': 'bookmark'}]}, {'boot_index': 1, 'links': [{'href': 'http://localhost/v1/volume/targets/7729f4c8-b4f1-4ac8-8707-679ff5db8d95', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/7729f4c8-b4f1-4ac8-8707-679ff5db8d95', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=boot_index&limit=2&marker=7729f4c8-b4f1-4ac8-8707-679ff5db8d95'} 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-1e8591fe-4298-4146-87a1-15af55b3cf53 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/volume/targets/7f24a139-df2c-4789-a31b-61f38626584b {} GOT:{'uuid': '7f24a139-df2c-4789-a31b-61f38626584b', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/7f24a139-df2c-4789-a31b-61f38626584b', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/7f24a139-df2c-4789-a31b-61f38626584b', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:11.057743+00:00', 'updated_at': None} GET: /v1/volume/targets/7f24a139-df2c-4789-a31b-61f38626584b {} GOT:{'uuid': '7f24a139-df2c-4789-a31b-61f38626584b', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/7f24a139-df2c-4789-a31b-61f38626584b', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/7f24a139-df2c-4789-a31b-61f38626584b', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:11.057743+00:00', 'updated_at': None} GET: /volume/targets/7f24a139-df2c-4789-a31b-61f38626584b {} GOT:{'uuid': '7f24a139-df2c-4789-a31b-61f38626584b', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/7f24a139-df2c-4789-a31b-61f38626584b', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/7f24a139-df2c-4789-a31b-61f38626584b', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:11.057743+00:00', 'updated_at': None} GET: /v1/volume/targets {} GOT:{'targets': [{'uuid': 'd8aa2ae7-2311-41d9-9728-5862e59e45dc', 'volume_type': 'iscsi', 'boot_index': 0, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/d8aa2ae7-2311-41d9-9728-5862e59e45dc', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/d8aa2ae7-2311-41d9-9728-5862e59e45dc', 'rel': 'bookmark'}]}, {'uuid': 'fd5dac7e-8b49-46ea-8bed-6692128bd36a', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/fd5dac7e-8b49-46ea-8bed-6692128bd36a', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/fd5dac7e-8b49-46ea-8bed-6692128bd36a', 'rel': 'bookmark'}]}, {'uuid': '59d064d0-4112-4d8f-aac1-4f8cd2117633', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/59d064d0-4112-4d8f-aac1-4f8cd2117633', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/59d064d0-4112-4d8f-aac1-4f8cd2117633', 'rel': 'bookmark'}]}, {'uuid': 'f0ef0518-e332-4346-9aa8-36e2184cc8f1', 'volume_type': 'iscsi', 'boot_index': 3, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/f0ef0518-e332-4346-9aa8-36e2184cc8f1', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f0ef0518-e332-4346-9aa8-36e2184cc8f1', 'rel': 'bookmark'}]}, {'uuid': '5566eb3a-14b5-4da4-bae0-481b5590ad7f', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/5566eb3a-14b5-4da4-bae0-481b5590ad7f', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/5566eb3a-14b5-4da4-bae0-481b5590ad7f', 'rel': 'bookmark'}]}]} GET: /v1/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/volume/targets?sort_key=uuid {} GOT:{'targets': [{'uuid': '0bb38afc-1964-4b92-99ca-62f999066ccf', 'volume_type': 'iscsi', 'boot_index': 0, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/0bb38afc-1964-4b92-99ca-62f999066ccf', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/0bb38afc-1964-4b92-99ca-62f999066ccf', 'rel': 'bookmark'}]}, {'uuid': '0efbf0b9-3652-46c7-9aa1-df5cddcc8fca', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/0efbf0b9-3652-46c7-9aa1-df5cddcc8fca', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/0efbf0b9-3652-46c7-9aa1-df5cddcc8fca', 'rel': 'bookmark'}]}, {'uuid': '3b9d38ae-57a9-4d6c-ac19-166362c91284', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/3b9d38ae-57a9-4d6c-ac19-166362c91284', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/3b9d38ae-57a9-4d6c-ac19-166362c91284', 'rel': 'bookmark'}]}]} GET: /v1/volume/targets?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2aec9bf2-8e13-420d-bc0b-158f9207904b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"foo\\\" is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/volume/targets?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-89fda729-dd29-4a2c-a5fa-6a13d0681364 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value extra is an invalid field for sorting\", \"debuginfo\": null}"} GET: /v1/volume/targets?sort_key=properties {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d39b42bb-1803-4dd2-b98e-3006bd8d23f2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key_invalid [0.141487s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_multi [0.189711s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_and_fields [0.067458s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_id [0.064162s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_by_node_name_ok [0.075062s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_empty [0.063768s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid [0.092340s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid_invalid_type [0.060579s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_pagination_no_uuid [0.086533s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_api_version [0.040803s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root [0.092056s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_fields [0.073350s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root_non_existent [0.063342s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_custom_fields [0.072819s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_multi [0.149530s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_many [0.121123s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_node_id [0.064313s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one [0.073568s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_non_existent_property_fail [0.063975s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid [0.088624s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_invalid_power_state [0.088414s] ... ok GET: /v1/volume/connectors?detail=True&limit=3 {} GOT:{'connectors': [{'uuid': '269b8629-2f0e-41e1-9b60-cc5f3dc84928', 'type': 'iqn', 'connector_id': 'test-connector_id-0', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/269b8629-2f0e-41e1-9b60-cc5f3dc84928', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/269b8629-2f0e-41e1-9b60-cc5f3dc84928', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:11.692517+00:00', 'updated_at': None}, {'uuid': 'c0c53775-9106-45b9-a173-85a062e18555', 'type': 'iqn', 'connector_id': 'test-connector_id-1', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/c0c53775-9106-45b9-a173-85a062e18555', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/c0c53775-9106-45b9-a173-85a062e18555', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:11.701801+00:00', 'updated_at': None}, {'uuid': '1b4ae5e8-e6f3-4d2a-afe0-b9242213ec97', 'type': 'iqn', 'connector_id': 'test-connector_id-2', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/1b4ae5e8-e6f3-4d2a-afe0-b9242213ec97', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1b4ae5e8-e6f3-4d2a-afe0-b9242213ec97', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:11.704039+00:00', 'updated_at': None}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&detail=True&limit=3&marker=1b4ae5e8-e6f3-4d2a-afe0-b9242213ec97'} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6d1c07bc-9fd8-47f9-ac53-b058590e538f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\", \"debuginfo\": null}"} 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-aac40c5b-3df3-4e27-8399-d9e117b8b145 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\", \"debuginfo\": null}"} GET: /v1/volume/connectors?detail=True&node=test-node {} GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'created_at': '2020-05-04T22:35:12.002476+00:00', 'updated_at': None}]} GET: /v1/volume/connectors {} GOT:{'connectors': []} GET: /v1/volume/connectors?fields=connector_id&limit=2 {} GOT:{'connectors': [{'connector_id': 'test-connector_id-0', 'links': [{'href': 'http://localhost/v1/volume/connectors/7a497212-3193-4f1c-9685-e91fe349acef', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/7a497212-3193-4f1c-9685-e91fe349acef', 'rel': 'bookmark'}]}, {'connector_id': 'test-connector_id-1', 'links': [{'href': 'http://localhost/v1/volume/connectors/dbe69078-beec-42cf-805c-6134f0163661', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/dbe69078-beec-42cf-805c-6134f0163661', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=connector_id&limit=2&marker=dbe69078-beec-42cf-805c-6134f0163661'} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} 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-130cf9d5-79b5-4fbf-878a-616b9264588a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=connector_id,extra {} GOT:{'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]} GET: /v1/volume/connectors {} GOT:{'connectors': [{'uuid': '1fb1855c-58fa-41eb-8fd8-867a4877431e', 'type': 'iqn', 'connector_id': 'test-connector_id-0', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/1fb1855c-58fa-41eb-8fd8-867a4877431e', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/1fb1855c-58fa-41eb-8fd8-867a4877431e', 'rel': 'bookmark'}]}, {'uuid': 'e2f97dd9-f3f6-49a3-aa65-236087c81339', 'type': 'iqn', 'connector_id': 'test-connector_id-1', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/e2f97dd9-f3f6-49a3-aa65-236087c81339', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/e2f97dd9-f3f6-49a3-aa65-236087c81339', 'rel': 'bookmark'}]}, {'uuid': '41dfa3ae-8cb9-4e68-b548-6d4f7dfcee30', 'type': 'iqn', 'connector_id': 'test-connector_id-2', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/41dfa3ae-8cb9-4e68-b548-6d4f7dfcee30', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/41dfa3ae-8cb9-4e68-b548-6d4f7dfcee30', 'rel': 'bookmark'}]}, {'uuid': 'f65e05f4-3a82-487e-870a-14cf020505c5', 'type': 'iqn', 'connector_id': 'test-connector_id-3', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/f65e05f4-3a82-487e-870a-14cf020505c5', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/f65e05f4-3a82-487e-870a-14cf020505c5', 'rel': 'bookmark'}]}, {'uuid': '262a0aec-f275-40d3-a846-0bae3ab5bdbf', 'type': 'iqn', 'connector_id': 'test-connector_id-4', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/262a0aec-f275-40d3-a846-0bae3ab5bdbf', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/262a0aec-f275-40d3-a846-0bae3ab5bdbf', 'rel': 'bookmark'}]}]} GET: /v1/volume/connectors {} GOT:{'connectors': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]}]} 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-19c76153-aaa4-4b3d-9126-b4e1dcf0b3a7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "type": "iqn", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:12.611262+00:00", "updated_at": null} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'add'}]{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid_invalid_type [0.060108s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root [0.115999s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root_non_existent [0.112499s] ... ok PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo1', 'value': 'bar1', 'op': 'add'}, {'path': '/extra/foo2', 'value': 'bar2', 'op': 'add'}, {'path': '/extra/foo3', 'value': 'bar3', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d121cb68-5666-453e-aa85-be38045338de X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "volume_type": "iscsi", "properties": {"target_iqn": "iqn.foo"}, "boot_index": 0, "volume_id": "12345678", "extra": {"foo1": "bar1", "foo2": "bar2", "foo3": "bar3"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:11.835899+00:00", "updated_at": null} 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-82b26681-a554-44dc-a38a-2a908ecc8c10 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\", \"debuginfo\": null}"} 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-0162a415-5b8a-4d4d-b6c1-60e33102f187 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "volume_type": "iscsi", "properties": {"target_iqn": "iqn.foo"}, "boot_index": 0, "volume_id": "12345678", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:12.056246+00:00", "updated_at": null} 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-89ee4163-19ee-44f5-a55c-208ad107914a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} 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-faefdda5-6a0c-42cb-a3bb-8596b52999c0 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "volume_type": "iscsi", "properties": {"target_iqn": "iqn.foo"}, "boot_index": 100, "volume_id": "12345678", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:12.211634+00:00", "updated_at": null} 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-71767110-6cd3-4208-96d3-bf01ecfd183f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\", \"debuginfo\": null}"} 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-db5f2d2c-213e-488d-a63f-98db73df96f2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "volume_type": "iscsi", "properties": {"target_iqn": "iqn.foo"}, "boot_index": 0, "volume_id": "12345678", "extra": {"foo2": "bar2", "foo3": "bar3"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:12.368580+00:00", "updated_at": "2020-05-04T22:35:12.373682+00:00"} 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-ee519cba-d647-4cdf-a82d-123a9e05a134 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "volume_type": "iscsi", "properties": {"target_iqn": "iqn.foo"}, "boot_index": 0, "volume_id": "12345678", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:12.368580+00:00", "updated_at": "2020-05-04T22:35:12.373682+00:00"} 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-7c6f04f7-a8b9-4d4d-a2f6-ab98a2992b20 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/node_id', 'op': 'remove'}'. Reason: can't remove non-existent object 'node_id'\", \"debuginfo\": null}"} 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-d7eb08d0-b95d-4ebd-a0d2-5a1bdf994668 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} 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-ddb8098b-a11f-444c-b450-11d95b7208eb X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume target update\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} 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-e1bad45a-de2f-4965-86b9-4d2ee1f67e7f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/node_id', 'op': 'replace', 'value': '1'}'. Reason: can't replace non-existent object 'node_id'\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_id [0.110797s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid [0.217452s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_mandatory_field [0.085511s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid_invalid_api_version [0.053267s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_node_uuid_format [0.055163s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_multi [0.150985s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_node_uuid [0.057409s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_non_existent_property_fail [0.062901s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_type [0.059083s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_uuid [0.058817s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_node_uuid_not_found [0.064833s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_invalid_power_state [0.081043s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_valid_extra [0.117874s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid_invalid_type [0.061447s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestVolumeTargetObject.test_volume_target_init [0.011871s] ... ok {1} ironic.tests.unit.api.test_acl.TestACL.test_non_admin [0.061523s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_byid [0.090053s] ... ok {1} ironic.tests.unit.api.test_acl.TestACL.test_non_admin_with_admin_header [0.062024s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5aaac5b3-0ef5-44de-8194-eb95f0d63845 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} 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-fd9da37e-ec20-446c-a8b2-8a436180f430 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "type": "iqn", "connector_id": "test-connector-id-123", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:12.764676+00:00", "updated_at": null} 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-2aaf3a4d-ebad-493c-8d1d-e2d8e54ae2d7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/foo) to the root of the resource is not allowed\", \"debuginfo\": null}"} 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-cf6f3a81-815b-47c7-94eb-33417dc84c6b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/value', 'op': 'remove'}'. Reason: can't remove non-existent object 'value'\", \"debuginfo\": null}"} 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-9b8bedf0-1df2-45cc-a1de-e0db37f1ded9 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "type": "iqn", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo2": "bar2", "foo3": "bar3"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:13.078121+00:00", "updated_at": "2020-05-04T22:35:13.082908+00:00"} 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-fdbdf480-1754-4aed-ac2e-94f8c9d8976c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "type": "iqn", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:13.078121+00:00", "updated_at": "2020-05-04T22:35:13.082908+00:00"} 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-65dfafe7-120b-4fd6-ae50-5ca4297a2de7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Couldn't apply patch '{'path': '/extra/non-existent', 'op': 'remove'}'. Reason: can't remove non-existent object 'non-existent'\", \"debuginfo\": null}"} 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-03e39e83-0f6f-410d-a9e0-b2073eaa2863 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\", \"debuginfo\": null}"} 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-35cb5330-df91-4cca-ae15-6a458d132cc4 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The requested action \\\"volume connector update\\\" can not be performed on node \\\"1be26c0b-03f2-4d2e-ae87-c02d7f33c123\\\" while it is in state \\\"power on\\\".\", \"debuginfo\": null}"} 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-a3c80fee-c9d4-4d1b-82da-f49fe61e1e7d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} 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-61c1a66d-23ce-461e-a980-8f0da576f2d8 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "type": "iqn", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo": "bar"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:13.499917+00:00", "updated_at": null} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {'foo': 123}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-2a220967-869f-4d40-9421-1ddab5aa2529 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "type": "iqn", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {"foo": 123}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:13.628898+00:00", "updated_at": null} GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {}{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_doesnt_contain_id [0.116513s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_error [0.071207s] ... ok PATCH: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b840e21d-c345-400f-a563-c18f9200172c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "volume_type": "iscsi", "properties": {"target_iqn": "iqn.foo"}, "boot_index": 0, "volume_id": "12345678", "extra": {"foo": "bar"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:12.882901+00:00", "updated_at": null} 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": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': 123} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cc95037c-2405-42b4-b801-18948db56581 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received 123.\", \"debuginfo\": null}"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a6e2d989-0540-4182-b1ea-ddc8a42ec8c2 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-37fd7b23-6841-423b-be7f-db9c51091707 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute volume_type. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d9ad6659-5bfa-4c07-bbf2-4043c7a9fa8d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-1809a6fb-82be-4d00-95a3-3aa908493c3a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "volume_type": "iscsi", "properties": {"target_iqn": "iqn.foo"}, "boot_index": 0, "volume_id": "12345678", "extra": {"str": "foo", "int": 123, "float": 0.1, "bool": true, "list": [1, 2], "none": null, "dict": {"cat": "meow"}}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:13.410714+00:00", "updated_at": null} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {'str': 'foo', 'int': 123, 'float': 0.1, 'bool': True, 'list': [1, 2], 'none': None, 'dict': {'cat': 'meow'}}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'created_at': '2020-05-04T22:35:13.410714+00:00', 'updated_at': None} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b42a9ac0-59ae-480a-849a-85b86be06d91 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-52eef9b8-860c-4758-ad78-95884b64302a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: baremetal:node:get\", \"debuginfo\": null}"} GET: /v1/ {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4eddb4f8-f410-48ca-8098-f5f266f5547e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"id": "v1", "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", "rel": "describedby", "type": "text/html"}], "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "version": "1.58", "min_version": "1.1"}} GET: /v1.json {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cffcb700-c287-4e58-b21d-59ff7ef35d0f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"id": "v1", "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", "rel": "describedby", "type": "text/html"}], "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "version": "1.58", "min_version": "1.1"}}{1} ironic.tests.unit.api.test_acl.TestACL.test_public_api_with_path_extensions [0.143189s] ... ok {1} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_disable_audit_request [0.041356s] ... ok {1} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request [0.029865s] ... ok {1} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_disable [0.019534s] ... ok {1} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_enable [0.019800s] ... ok {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_admin [0.018060s] ... ok {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_miss_context [0.046576s] ... ok {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_noauth_token_removed [0.056860s] ... ok {1} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_not_admin [0.018713s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_generate_uuid [0.263094s] ... ok {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success [0.038500s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_api_version [0.037467s] ... ok {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault [0.034704s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_node_uuid_format [0.055093s] ... ok {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug [0.033840s] ... ok {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug [0.033703s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_connector_id [0.054722s] ... ok {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback [0.034474s] ... ok {1} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug [0.035030s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_type [0.060439s] ... ok {1} ironic.tests.unit.api.test_hooks.TestPolicyDeprecation.test_policy_deprecation_check [0.012648s] ... ok {1} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_host_url [0.017392s] ... ok {1} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_public_endpoint [0.016913s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_node_uuid_not_found [0.067145s] ... ok {1} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_get_request [0.034125s] ... ok {1} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_get_request [0.081395s] ... ok {1} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_disable_osp_wsgi_request [0.021317s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_type_value_already_exist [0.114688s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestVolumeConnectorObject.test_volume_connector_init [0.010577s] ... ok {1} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_enable_osp_wsgi_request [0.020821s] ... ok {1} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors2 [0.026057s] ... ok {1} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_23_root [0.039938s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid [0.074614s] ... ok {1} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_defaults [0.029137s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid_invalid_api_version [0.044388s] ... ok {1} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_produces_a_warning [0.028522s] ... ok {1} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_random_no_zeros [0.032301s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_notdone [0.020559s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_onedone [0.019624s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_two_calls_done [0.020072s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations [0.016388s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_exception [0.015967s] ... ok {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_max_count_neg [0.015361s] ... ok "max-count" must be a positive value. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions [0.020044s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_bad [0.018372s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {1} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_ignore_models [0.018505s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {'foo': 123}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'created_at': '2020-05-04T22:35:13.628898+00:00', 'updated_at': None} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a59c3b7e-7649-424e-9561-2868dc07f94c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/2c432864-474d-4305-8505-2aef8c9644bd Openstack-Request-Id: req-2f6e4f41-7ec1-4ec4-bfdd-742fe7cfc321 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "2c432864-474d-4305-8505-2aef8c9644bd", "type": "iqn", "connector_id": "iqn.2012-06.com.example:initiator", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/volume/connectors/2c432864-474d-4305-8505-2aef8c9644bd", "rel": "self"}, {"href": "http://localhost/volume/connectors/2c432864-474d-4305-8505-2aef8c9644bd", "rel": "bookmark"}], "created_at": "2020-05-04T22:35:13.904060+00:00", "updated_at": null} GET: /v1/volume/connectors/2c432864-474d-4305-8505-2aef8c9644bd {} GOT:{'uuid': '2c432864-474d-4305-8505-2aef8c9644bd', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/2c432864-474d-4305-8505-2aef8c9644bd', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/2c432864-474d-4305-8505-2aef8c9644bd', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:13.904060+00:00', 'updated_at': None} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': 123} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b9645907-7ebc-42ed-a19b-e2e17f5c5bb7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received 123.\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-85b4c697-356f-4e55-b2d7-036c15cf97d3 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute connector_id. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-de127f3a-18d4-4eff-8e26-85aa3173105b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute type. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'iqn.2012-06.com.example:initiator', 'extra': {}, 'node_uuid': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-66f5b385-b1f8-473a-a9f6-e99e9a373b74 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} POST: /v1/volume/connectors {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'type': 'iqn', 'connector_id': 'test-connector-id-456', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-53e29844-4fe9-481a-82d5-82ec81569961 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "type": "iqn", "connector_id": "test-connector-id-456", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:14.361096+00:00", "updated_at": null} POST: /v1/volume/connectors {'uuid': '48e45c11-0287-4622-aea6-d7078270636e', 'type': 'iqn', 'connector_id': 'test-connector-id-456', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-b095cb1b-d16f-4652-b555-40fa7117209a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type iqn and connector ID test-connector-id-456 already exists.\", \"debuginfo\": null}"} DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-c517cee4-4af6-4041-b71a-e88c5525f65e X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/volume/targets/?limit=3 {} GOT:{'targets': [{'uuid': '9a93633a-5157-44dc-839d-50c431664824', 'volume_type': 'iscsi', 'boot_index': 0, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/9a93633a-5157-44dc-839d-50c431664824', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/9a93633a-5157-44dc-839d-50c431664824', 'rel': 'bookmark'}]}, {'uuid': '46aee8ac-c2a9-4370-a690-c1aa414aa1af', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/46aee8ac-c2a9-4370-a690-c1aa414aa1af', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/46aee8ac-c2a9-4370-a690-c1aa414aa1af', 'rel': 'bookmark'}]}, {'uuid': 'c31f2d7e-e545-4d58-ab61-0e8cbc909709', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/c31f2d7e-e545-4d58-ab61-0e8cbc909709', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/c31f2d7e-e545-4d58-ab61-0e8cbc909709', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,volume_type,boot_index,volume_id&limit=3&marker=c31f2d7e-e545-4d58-ab61-0e8cbc909709'}{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links [0.115261s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_default_limit [0.205525s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_detail [0.105971s] ... ok {1} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions [0.257264s] ... ok {1} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions_bad [0.015793s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail [0.075525s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_against_single [0.061560s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes [0.085753s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_false [0.075955s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_record_failure [0.082127s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_sepecified_by_path [0.063996s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_client_init_failure [0.078345s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_empty [0.064141s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_initialize_connection_failure [0.079924s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_all_by_node_name_ok [0.108151s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_one_attached [0.082533s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_custom_fields [0.098793s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_vol_not_found [0.080916s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one [0.074695s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_begin_detaching_failure [0.085738s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_custom_fields [0.077166s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_bad_request [0.075774s] ... ok GET: /v1/volume/targets {} GOT:{'targets': [{'uuid': 'f688274c-9e49-432b-bf39-c3bd28ee9e6b', 'volume_type': 'iscsi', 'boot_index': 0, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/f688274c-9e49-432b-bf39-c3bd28ee9e6b', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f688274c-9e49-432b-bf39-c3bd28ee9e6b', 'rel': 'bookmark'}]}, {'uuid': '6318e58f-6d69-4347-8d90-b680666b7a16', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/6318e58f-6d69-4347-8d90-b680666b7a16', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/6318e58f-6d69-4347-8d90-b680666b7a16', 'rel': 'bookmark'}]}, {'uuid': '84107a25-63d2-4fff-80ff-05119e1737b3', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/84107a25-63d2-4fff-80ff-05119e1737b3', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/84107a25-63d2-4fff-80ff-05119e1737b3', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,volume_type,boot_index,volume_id&limit=3&marker=84107a25-63d2-4fff-80ff-05119e1737b3'} GET: /v1/volume/targets?detail=True&limit=3 {} GOT:{'targets': [{'uuid': '3301127f-4988-4300-829b-36e65614465c', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/3301127f-4988-4300-829b-36e65614465c', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/3301127f-4988-4300-829b-36e65614465c', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:14.892545+00:00', 'updated_at': None}, {'uuid': '27b618b2-55a5-4e39-887e-8d3d7a9bc72f', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 1, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/27b618b2-55a5-4e39-887e-8d3d7a9bc72f', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/27b618b2-55a5-4e39-887e-8d3d7a9bc72f', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:14.894770+00:00', 'updated_at': None}, {'uuid': 'f8fa68c1-c3bc-47a1-8622-6b7af8d436ab', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 2, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/f8fa68c1-c3bc-47a1-8622-6b7af8d436ab', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f8fa68c1-c3bc-47a1-8622-6b7af8d436ab', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:14.897086+00:00', 'updated_at': None}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&detail=True&limit=3&marker=f8fa68c1-c3bc-47a1-8622-6b7af8d436ab'} GET: /v1/volume/targets?detail=True {} GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'created_at': '2020-05-04T22:35:14.999267+00:00', 'updated_at': None}]} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3f06a7b2-accf-491a-945a-c5817bda8b30 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\", \"debuginfo\": null}"} GET: /v1/volume/targets?detail=False {} GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'boot_index': 0, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]}]} GET: /v1/volume/targets/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8b326318-9551-410f-9374-ef54c16d8066 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute target_uuid. Value: 'detail'. unable to convert to uuid. Error: Expected a UUID but received detail.\", \"debuginfo\": null}"} GET: /v1/volume/targets {} GOT:{'targets': []} GET: /v1/volume/targets?node=test-node {} GOT:{'targets': [{'uuid': '08da117e-291a-4470-91c3-17ce2a739ec2', 'volume_type': 'iscsi', 'boot_index': 0, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/08da117e-291a-4470-91c3-17ce2a739ec2', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/08da117e-291a-4470-91c3-17ce2a739ec2', 'rel': 'bookmark'}]}, {'uuid': '4db36a7f-eeee-4861-84a2-a0b5add9c388', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/4db36a7f-eeee-4861-84a2-a0b5add9c388', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/4db36a7f-eeee-4861-84a2-a0b5add9c388', 'rel': 'bookmark'}]}, {'uuid': '7fe3f2a7-8296-4b6c-a8a5-6a802c6bf45d', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/7fe3f2a7-8296-4b6c-a8a5-6a802c6bf45d', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/7fe3f2a7-8296-4b6c-a8a5-6a802c6bf45d', 'rel': 'bookmark'}]}]} GET: /v1/volume/targets?fields=uuid,extra {} GOT:{'targets': [{'uuid': 'd8551048-4c1f-4e12-9632-8c83a5198602', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/d8551048-4c1f-4e12-9632-8c83a5198602', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/d8551048-4c1f-4e12-9632-8c83a5198602', 'rel': 'bookmark'}]}, {'uuid': 'e6dd0291-e583-41c1-9137-a4d918d7c584', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/e6dd0291-e583-41c1-9137-a4d918d7c584', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/e6dd0291-e583-41c1-9137-a4d918d7c584', 'rel': 'bookmark'}]}, {'uuid': '77440b7d-3807-4fae-a947-11b11ea112b5', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/77440b7d-3807-4fae-a947-11b11ea112b5', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/77440b7d-3807-4fae-a947-11b11ea112b5', 'rel': 'bookmark'}]}]} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'created_at': '2020-05-04T22:35:15.554574+00:00', 'updated_at': None} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=boot_index,extra {} GOT:{'boot_index': 0, 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'rel': 'bookmark'}]} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"}{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_invalid_api_version [0.048337s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_one_detached [0.139639s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client [0.017907s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one [0.132906s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client_deprecated_opts [0.018166s] ... ok {1} ironic.tests.unit.common.test_context.RequestContextTestCase.test_from_dict [0.009765s] ... ok {1} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_without_context [0.011684s] ... ok {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_interfaces [0.025266s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_mandatory_field [0.059998s] ... ok {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface [0.025885s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_uuid [0.059370s] ... ok {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_node_update_dynamic_driver_set_interfaces [0.105513s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_boot_index_already_exist [0.086667s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer [0.016135s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername [0.016853s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_one [0.016049s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_two [0.015185s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_config [0.015536s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_duplicated_entry [0.015409s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_multi [0.098586s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_no_driver_load_error_if_driver_disabled [0.016448s] ... ok {1} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_wrap_in_driver_load_error_if_driver_enabled [0.014232s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_bad_default [0.064750s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid [0.091608s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_configured_defaults [0.064532s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid_inalid_type [0.063049s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fake [0.063674s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_non_existent_node_uuid [0.071728s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_no_defaults [0.056135s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_singular [0.089222s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_not_fake [0.061429s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces_non_default [0.022051s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_missing [0.015064s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_not_found [0.063100s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_storage_interface [0.021107s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_raid_interface_no_default [0.016629s] ... ok {1} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_storage_interface [0.022665s] ... ok {1} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_flat [0.065405s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target [0.123904s] ... ok {1} ironic.tests.unit.common.test_driver_factory.StorageInterfaceFactoryTestCase.test_build_interface_for_task [0.067259s] ... ok {1} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_unsupported [0.012539s] ... ok {1} ironic.tests.unit.common.test_fsm.FSMTest.test_initialize [0.010528s] ... ok {1} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable [0.010894s] ... ok {1} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_not [0.009881s] ... ok {1} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__config_auth [0.018506s] ... ok {1} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__no_auth [0.018495s] ... ok {1} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service_client_already_set [0.022212s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpforbidden_converts_to_imagenotauthed [0.010898s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpnotfound_converts_to_imagenotfound [0.017206s] ... ok GET: /v1/volume/targets {} GOT:{'targets': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'boot_index': 0, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}]}]} 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-ea835c11-1667-4482-9fa2-d81377a8fa4a X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/boot_index' is a mandatory attribute and can not be removed\", \"debuginfo\": null}"} 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-41ec2c15-9395-4575-847f-299bc521c0a7 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\", \"debuginfo\": null}"} 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-a05dbb73-2e5a-4a6f-926f-3da8ccb4aae1 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume target with boot index '100' for the same node already exists.\", \"debuginfo\": null}"} 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-950a8f7c-11ac-4186-97e8-ff68491c758c X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "volume_type": "iscsi", "properties": {"target_iqn": "iqn.foo"}, "boot_index": 0, "volume_id": "12345678", "extra": {"foo1": "bar1x", "foo2": "bar2x", "foo3": "bar3x"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:16.098939+00:00", "updated_at": "2020-05-04T22:35:16.104194+00:00"} 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-a0e7d9de-6875-4001-bc02-1f0d3d95af1d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "volume_type": "iscsi", "properties": {"target_iqn": "iqn.foo"}, "boot_index": 0, "volume_id": "12345678", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:16.197295+00:00", "updated_at": null} 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-90ed96f3-793d-4f8f-af7f-4f390a7a3c6f X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} 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-a6f3c2f0-b1f4-417c-883d-2ced1edff31b X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"} 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-30361125-b9c2-4a32-aff0-59ca3e22fbe6 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "volume_type": "iscsi", "properties": {"target_iqn": "iqn.foo"}, "boot_index": 100, "volume_id": "12345678", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:16.424081+00:00", "updated_at": null} PATCH: /v1/volume/targets/0108197d-a4be-4231-bc50-cb1ca2bd80b5 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2da9a6e6-3271-4cce-8307-505369ceaa10 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target 0108197d-a4be-4231-bc50-cb1ca2bd80b5 could not be found.\", \"debuginfo\": null}"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-af708fa1-a379-4bbe-9b4a-f9e2860ae751 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "volume_type": "iscsi", "properties": {"target_iqn": "iqn.foo"}, "boot_index": 0, "volume_id": "12345678", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {'foo': 123}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}{0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_doesnt_contain_id [0.207958s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_with_retries [0.022378s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_image_not_active [0.012749s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_no_authtoken_in_the_context [0.010599s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_config [0.009983s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_less_than_download_delay [0.010305s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_error [0.081597s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_multiple_containers [0.010531s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_detected [0.015222s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_multiple_containers [0.012207s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_no_key_detected [0.026646s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_glance_image [0.009877s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance_fail [0.009734s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_uuid [0.009961s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_disabled [0.011791s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_generate_uuid [0.127885s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_reset_interval [0.033753s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_api_version [0.037467s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_automatic_retry [0.055099s] ... ok {1} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_uncached [0.017253s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_value [0.055869s] ... ok {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_fail [0.029543s] ... ok {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_segmented [0.029044s] ... ok {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link [0.023671s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_node_uuid_to_node_id_mapping [0.082071s] ... ok {1} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link_fail [0.020216s] ... ok {1} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_ansi_c [0.026105s] ... ok {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_file_image_service [0.014874s] ... ok {0} ironic.tests.unit.api.test_acl.TestACL.test_authenticated [0.069636s] ... ok {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_url [0.011757s] ... ok {1} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_invalid_image_ref [0.009936s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso [0.014742s] ... ok {0} ironic.tests.unit.api.test_acl.TestACL.test_non_authenticated [0.031802s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_no_esp_imageimg [0.016350s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fails_no_grub_cfg [0.015747s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios_with_no_boot_mode [0.016736s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso [0.016955s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios [0.022322s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_conf_ldlinux [0.023709s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_uefi_with_esp_image [0.022586s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_mkisofs_fails [0.025489s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_uefi_rootfs_fails [0.049712s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-05aafebe-de87-4c1f-9f47-54f0e7a65e43 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "volume_type": "iscsi", "properties": {"target_iqn": "iqn.foo"}, "boot_index": 0, "volume_id": "12345678", "extra": {"foo": 123}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:16.791000+00:00", "updated_at": null} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {'foo': 123}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'created_at': '2020-05-04T22:35:16.791000+00:00', 'updated_at': None} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-6db47e93-a3b3-4e7b-9ebd-d0bc66db4421 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/volume/targets {'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/5dcb5244-3798-4de4-8f8a-ab027af01746 Openstack-Request-Id: req-080c8182-6f7c-47ed-a585-59f1bfdd6d89 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "5dcb5244-3798-4de4-8f8a-ab027af01746", "volume_type": "iscsi", "properties": {"target_iqn": "iqn.foo"}, "boot_index": 0, "volume_id": "12345678", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "links": [{"href": "http://localhost/v1/volume/targets/5dcb5244-3798-4de4-8f8a-ab027af01746", "rel": "self"}, {"href": "http://localhost/volume/targets/5dcb5244-3798-4de4-8f8a-ab027af01746", "rel": "bookmark"}], "created_at": "2020-05-04T22:35:17.041742+00:00", "updated_at": null} GET: /v1/volume/targets/5dcb5244-3798-4de4-8f8a-ab027af01746 {} GOT:{'uuid': '5dcb5244-3798-4de4-8f8a-ab027af01746', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/5dcb5244-3798-4de4-8f8a-ab027af01746', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/5dcb5244-3798-4de4-8f8a-ab027af01746', 'rel': 'bookmark'}], 'created_at': '2020-05-04T22:35:17.041742+00:00', 'updated_at': None} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-577f1973-3aff-47e0-bab6-a70c504ae799 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute boot_index. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} POST: /v1/volume/targets {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'volume_type': 'iscsi', 'properties': {'target_iqn': 'iqn.foo'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-4b2a28b2-698c-4854-a90d-8cba8c90867d X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.58 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "volume_type": "iscsi", "properties": {"target_iqn": "iqn.foo"}, "boot_index": 0, "volume_id": "12345678", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "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"}], "created_at": "2020-05-04T22:35:17.258248+00:00", "updated_at": null} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': None, 'power_state': None, 'target_power_state': None, 'last_error': None, 'provision_state': None, 'reservation': None, 'provision_updated_at': None, 'maintenance': False, 'maintenance_reason': None, 'target_provision_state': None, 'console_enabled': False, 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver': 'fake-hardware', 'driver_info': {'foo': 'bar', 'fake_password': '******'}, 'extra': {}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'chassis_uuid': None, 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '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'}], 'updated_at': None, 'created_at': None} 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": {"code": 401, "title": "Unauthorized", "message": "The request you have made requires authentication."}} GET: / {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4d226770-3015-49a6-a6b4-b943c2125b01 {"name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which aims to provision baremetal machines.", "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "version": "1.58", "min_version": "1.1"}], "default_version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "version": "1.58", "min_version": "1.1"}} GET: /v1 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b4d57244-a2bd-4419-91a0-3f4830751975 X-Openstack-Ironic-Api-Maximum-Version: 1.58 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"id": "v1", "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", "rel": "describedby", "type": "text/html"}], "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "version": "1.58", "min_version": "1.1"}}{0} ironic.tests.unit.api.test_acl.TestACL.test_public_api [0.070745s] ... ok {0} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request_error [0.041162s] ... ok {0} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_add_request_id [0.037901s] ... ok {0} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_public_api [0.033143s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image [0.037965s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks [0.073018s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_mkfs_fails [0.017897s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_no_such_prop [0.012004s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault [0.036248s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_with_prop_subset [0.012523s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug_tracebacks [0.035909s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_temp_url_for_glance_image [0.032014s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size [0.011373s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service [0.017210s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success [0.040778s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw [0.021748s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_image_service [0.010767s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug_tracebacks [0.035920s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw [0.018352s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_raw_format [0.014171s] ... ok {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_options_request [0.023602s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_no_file_format [0.011984s] ... ok {0} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_options_request [0.024588s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_non_glance [0.013520s] ... ok {1} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_failure_with_foreign_class [0.015190s] ... ok {0} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_disabled [0.037171s] ... ok {1} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_serialization [0.021189s] ... ok {1} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_success [0.014679s] ... ok {1} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_success_with_version_and_cap [0.016464s] ... ok {0} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_enabled [0.039606s] ... ok {1} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_unexpected_failure [0.014156s] ... ok {1} ironic.tests.unit.common.test_json_rpc.TestClient.test_cast_failure [0.013842s] ... ok {0} ironic.tests.unit.api.test_root.TestRoot.test_get_root [0.035432s] ... ok {1} ironic.tests.unit.common.test_json_rpc.TestClient.test_cast_success [0.014329s] ... ok {1} ironic.tests.unit.common.test_json_rpc.TestClient.test_cast_success_with_version [0.014044s] ... ok {0} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors [0.030478s] ... ok {1} ironic.tests.unit.common.test_json_rpc.TestClient.test_mask_secrets [0.015692s] ... ok {0} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_22_root [0.041450s] ... ok {1} ironic.tests.unit.common.test_json_rpc.TestService.test_authenticated [0.044391s] ... ok {1} ironic.tests.unit.common.test_json_rpc.TestService.test_authenticated_no_admin_role [0.028485s] ... ok {0} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_32_root [0.042050s] ... ok {1} ironic.tests.unit.common.test_json_rpc.TestService.test_expected_failure [0.030352s] ... ok {0} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_root [0.043347s] ... ok {1} ironic.tests.unit.common.test_json_rpc.TestService.test_expected_failure_oslo [0.028964s] ... ok {0} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_zeros [0.029090s] ... ok {1} ironic.tests.unit.common.test_json_rpc.TestService.test_mask_secrets [0.038107s] ... ok {0} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_on_missing_default_boot_option [0.029238s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {1} ironic.tests.unit.common.test_json_rpc.TestService.test_method_not_found [0.029559s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {0} ironic.tests.unit.cmd.test_dbsync.DbSyncTestCase.test_upgrade_and_version [0.047271s] ... ok {1} ironic.tests.unit.common.test_json_rpc.TestService.test_method_not_post [0.030063s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions [0.020377s] ... ok {1} ironic.tests.unit.common.test_json_rpc.TestService.test_non_json_body [0.030085s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2 [0.020502s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_done [0.020359s] ... ok {1} ironic.tests.unit.common.test_json_rpc.TestService.test_success_no_result [0.030207s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_exception [0.019703s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_none [0.018808s] ... ok {1} ironic.tests.unit.common.test_json_rpc.TestService.test_unexpected_failure [0.035438s] ... ok {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth_fail [0.007957s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_batches [0.016720s] ... ok {1} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_auth [0.009068s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option1 [0.020217s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option2 [0.015199s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_notdone [0.015325s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_with_options [0.015894s] ... ok {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_empty [0.072196s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_versions_bad [0.015842s] ... ok {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port [0.073955s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_set_meta_failure [0.094873s] ... ok {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port_no_id [0.071280s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_reserve_failure [0.080459s] ... ok {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_one_port [0.075141s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes [0.081582s] ... ok {1} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports_inconsistent [0.075458s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_invalid_parameter_value [0.078767s] ... ok {1} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_excludes_None [0.069052s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_allowed [0.081891s] ... ok {1} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_multiple_ports [0.072254s] ... ok {1} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_no_ports [0.064835s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_not_allowed [0.084843s] ... ok {1} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id [0.074715s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_meta_failure_errors_not_allowed [0.080980s] ... ok {1} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id_no_such_portgroup [0.068910s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_term_failure [0.083493s] ... ok {1} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id [0.075376s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_vol_not_found [0.074689s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderSession.test__get_cinder_session [0.013448s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__create_metadata_dictionary [0.029736s] ... ok {1} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id_empty [0.070315s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__get_attachment_id [0.023453s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_attached [0.021585s] ... ok {0} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_available [0.021624s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_provisioning [0.072844s] ... ok {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context [0.012761s] ... ok {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_get_admin_context [0.010210s] ... ok {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_with_context [0.011098s] ... ok {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_policy_values [0.010248s] ... ok {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_interfaces_set [0.033768s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_rescuing [0.077250s] ... ok {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface [0.021947s] ... ok {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_conf [0.025298s] ... ok {0} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_none_network_interface [0.025462s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_no_ports_no_portgroups [0.067708s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername_node [0.015923s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_unsupported [0.015096s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_additional_defaults [0.015196s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_hardware_type [0.014694s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_extra [0.070904s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_empty_entry [0.016093s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_init_checks_unsupported [0.014871s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_load_error_if_driver_enabled [0.014288s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_int_info [0.071194s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task [0.063014s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_int_info [0.068412s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_calculated_defaults [0.063853s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_extra [0.074431s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_incorrect [0.060963s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces [0.021806s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_existing [0.014912s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_rescue_interface [0.019405s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_int_info [0.074406s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_rescue_interface_default_from_conf [0.022712s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface [0.022437s] ... ok {0} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface_default_from_conf [0.023039s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_remove_vifs_from_node [0.113457s] ... ok {0} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task [0.068621s] ... ok {0} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_unknown_network_interface [0.060741s] ... ok {0} ironic.tests.unit.common.test_driver_factory.NewFactoryTestCase.test_new_driver_factory_unknown_entrypoint [0.016099s] ... ok {0} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_supported [0.012092s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test__validate_target_state [0.010883s] ... ok {1} ironic.tests.unit.common.test_network.TestRemoveVifsTestCase.test_remove_vifs_from_node_failure [0.118369s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_invalid_state [0.010286s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_process_event [0.009707s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_duplicate [0.013738s] ... ok {0} ironic.tests.unit.common.test_fsm.FSMTest.test_target_state_stable [0.010689s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments [0.018859s] ... ok {0} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__token_auth [0.021736s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_failure [0.014609s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_forbidden_converts_to_imagenotauthed [0.011431s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_missing [0.014727s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_notfound_converts_to_imagenotfound [0.011196s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment_no_physnet [0.014149s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_file_url [0.022767s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_context [0.018457s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_no_data [0.012247s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_makes_datetimes [0.011728s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_passes_through_to_client [0.011198s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSerializer.test_serialize [0.000281s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_no_key_no_exception [0.009972s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_token [0.040656s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url [0.013286s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_without_token [0.019409s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected [0.015727s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_with_suffix [0.015273s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_invalid_image_info [0.012044s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_key_detected [0.029125s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_url_bad_no_info [0.011089s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_fail [0.009763s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance [0.009549s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network [0.099653s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_add_items_to_cache [0.013029s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_do_not_return_expired_tempurls [0.012424s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_remove_expired_items_from_cache [0.010109s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_return_cached_tempurl [0.012272s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_enabled [0.012134s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_all_ports [0.094264s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_automatic_retry [0.054134s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_driver_not_found [0.051901s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_instance_uuid [0.090826s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success [0.048070s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success_groups [0.046994s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_node_portmap [0.073421s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_uncached [0.019138s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_false [0.026865s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_true [0.026465s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_driver_not_found [0.054257s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success [0.047405s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports [0.077220s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success_groups [0.047586s] ... ok {0} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_reset_interval [0.033805s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_fail [0.075261s] ... ok {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy [0.030734s] ... ok {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_show [0.014357s] ... ok {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href [0.010905s] ... ok {0} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_path_not_found_or_not_file [0.011407s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_connerror [0.012435s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_race [0.077675s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_ioerror [0.017935s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success [0.020069s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_no_content_length [0.012193s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_822 [0.017572s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_850 [0.015556s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_list_fail [0.077467s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href [0.012078s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error [0.011447s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_code [0.011532s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_with_secret_parameter [0.011148s] ... ok {0} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service [0.011226s] ... ok {0} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_http_image_service [0.012047s] ... ok {0} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_https_image_service [0.012634s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_smartnic_ports [0.085532s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__create_root_fs [0.017085s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_grub_cfg [0.017827s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_isolinux_cfg [0.011671s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_with_ExecutionError [0.011942s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test__umount_without_raise [0.011591s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network [0.077446s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios [0.018937s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso_for_hrefs [0.017777s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image [0.016817s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image_for_hrefs [0.016765s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_mkisofs_fails [0.020102s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled_all_ports [0.081006s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_rootfs_fails [0.017950s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_default_ldlinux [0.024157s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_uefi_with_deploy_iso [0.025304s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports [0.075898s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_always_umount [0.023871s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_dd_fails [0.011604s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_down [0.027493s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_umount_fails [0.021127s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_up [0.026803s] ... ok {0} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_default_all [0.015258s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_download_size [0.011084s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface [0.061408s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface [0.053321s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_with_client_id [0.057329s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_no_image_service [0.204710s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_backing_file_present [0.011668s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_no_smartnic_and_link_info [0.061411s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_raw_after_conversion [0.016894s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_no_img_src [0.012761s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image [0.012679s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image [0.012454s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_no_link_info [0.062731s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_non_glance [0.012455s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_failure [0.018038s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups [0.027793s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_failure_with_version_and_cap [0.012507s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_success_with_version [0.016205s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_can_send_version [0.011487s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_less_than_configured [0.034196s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestService.test_invalid_requests [0.032171s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_down [0.037913s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestService.test_malformed_context [0.028979s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_up [0.028622s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestService.test_missing_argument [0.030675s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_active_max_retry [0.038479s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestService.test_no_blacklisted_methods [0.030151s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down [0.027679s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestService.test_no_context [0.028224s] ... ok {1} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down_max_retry [0.036790s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestService.test_notification [0.028307s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port [0.016217s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestService.test_serialize_objects [0.037216s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_failure [0.027446s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_unbind_port_failed [0.014383s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestService.test_success [0.033871s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_binding [0.015168s] ... ok {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_adapter_from_config [0.007469s] ... ok {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth [0.007528s] ... ok {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_uuid [0.013983s] ... ok {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_session [0.006877s] ... ok {1} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_failure [0.013794s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_1 [0.025839s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed [0.029079s] ... ok {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports [0.077266s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova_auth_url [0.030110s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_1 [0.026174s] ... ok {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_cleaning [0.072739s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_2 [0.027325s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_3 [0.026016s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_4 [0.026235s] ... ok {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_extra [0.070795s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_admin_api [0.018806s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_is_member [0.019972s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_show_password [0.015932s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_passes [0.015969s] ... ok {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_extra [0.074699s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_policy_not_registered [0.011065s] ... ok {1} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_config_file [0.063799s] ... ok {0} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_int_info [0.071008s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_failure [0.011288s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_missing [0.011035s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_name [0.010854s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_uuid [0.010130s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_no_physnet [0.013148s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_failure [0.013208s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.CleanUpPxeEnvTestCase.test__clean_up_pxe_env [0.079800s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_missing [0.013791s] ... ok {0} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment [0.013061s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_deploy_ramdisk [0.024786s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_noauth [0.018160s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_ipxe [0.022849s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_missing_deploy_kernel [0.022093s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_all_ports_fail [0.076085s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe [0.095505s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_create_some_ports_fail [0.090125s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_port [0.070716s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_pxe_enabled_ports [0.072554s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_with_sg [0.093215s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe_and_ipxe_timeout [0.288925s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_with_client_id_to_network [0.093073s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot [0.105746s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_smartnic_port_to_network [0.169076s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot_from_lists [0.143941s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_local_group_information [0.099349s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe_rescue [0.131275s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled [0.075877s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe_rescue_swift [0.109597s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports_exception [0.086154s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface_with_client_id [0.057836s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe_rescue_timeout [0.108105s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_missed_info [0.061818s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_link_info [0.057506s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe_swift_partition [0.094021s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_exception_by_neutronclient [0.028132s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_more_than_configured [0.027182s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_no_sg_from_neutron [0.026568s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_pxe [0.077424s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_down [0.027387s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_up [0.037099s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_pxe_no_kernel_no_ramdisk [0.069280s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_up [0.026958s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_client_passed [0.016985s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_found [0.026051s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address [0.013373s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_show_failed [0.012436s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_pxe_rescue [0.088164s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_exception [0.014107s] ... ok {0} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_without_binding [0.013798s] ... ok {0} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_name [0.011863s] ... ok {0} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_duplicate [0.012027s] ... ok {0} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_not_found [0.011965s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_pxe_without_is_whole_disk_image [0.088047s] ... ok {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_invalid_power_update [0.028857s] ... ok {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_2 [0.025437s] ... ok {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_3 [0.025581s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe [0.060005s] ... ok {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova [0.025302s] ... ok {0} ironic.tests.unit.common.test_nova.TestNovaAdapter.test_get_nova_adapter [0.013841s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_node_create [0.017705s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_node_get [0.018066s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info [0.080297s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_public_api [0.017022s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_admin_api [0.016166s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_node_create [0.016796s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_node_get [0.017446s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_public_api [0.016577s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_volume_pxe_options_unsupported_additional_volume_type [0.080073s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_show_password [0.016286s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_access_forbidden [0.016020s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_volume_pxe_options_unsupported_volume_type [0.073811s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_namespace [0.063515s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_kernel [0.023266s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_ramdisk [0.021241s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_deploy [0.022074s] ... ok {0} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_no_args [0.062992s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_pass [0.024403s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_three [0.023120s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__cache_tftp_images_master_path [0.057930s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_two [0.024321s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info [0.023162s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_without_master_path [0.015558s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_ip_address_path [0.025730s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path [0.022216s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path_ipxe [0.022833s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipa_debug_rescue [0.089388s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__link_ip_address_pxe_configs [0.075964s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe_ipa_debug [0.092338s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_pxe_configs [0.076923s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe_local_boot [0.107302s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config [0.070892s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_instance_info [0.077892s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ipxe_swift_wdi [0.104785s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_mac_address [0.074459s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_pxe_ipa_debug [0.070251s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_already_exists [0.027178s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_copy_file_different [0.025820s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_pxe_local_boot [0.084717s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config [0.077801s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_build_pxe_config_options_ramdisk_params [0.070609s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_grub [0.075351s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel [0.061578s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_ipxe [0.077463s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_localboot [0.068387s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_whole_disk_image [0.054655s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_mac_address [0.078015s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_grub_config [0.037464s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_without_is_whole_disk_image [0.086717s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config [0.060548s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_no_extra_volumes [0.054708s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_volume_pxe_options [0.082580s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_script [0.024505s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_deploy [0.022401s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_deploy [0.021543s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_rescue [0.021578s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_config [0.055410s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_kernel [0.023112s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_ramdisk [0.022552s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_timeout_config [0.056039s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_rescue [0.022672s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_pxe_config [0.034057s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_rescue [0.023531s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_one [0.023875s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_with_master_path [0.015269s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance [0.069085s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_infiniband_mac_pxe_configs [0.078278s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipxe_bios [0.068067s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_bad_driver_info [0.023112s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_with_trailing_slash [0.024035s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_ipxe_configs [0.081540s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_without_trailing_slash [0.023049s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_pxe_config_file_path [0.022014s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info [0.022221s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info_ipxe [0.023240s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_ipxe_config_uefi [0.081573s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_without_trailing_slash [0.021844s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_nonroot [0.024610s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties [0.021336s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi [0.078322s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script [0.027129s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_current_capabilities_empty [0.052827s] ... ok {1} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_no_root_volumes [0.050826s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_additional_property [0.014517s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs [0.078711s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_disk_type [0.014258s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_int_type [0.013294s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_is_root_volume [0.013892s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_multiple_is_root_volume [0.013333s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_number_of_phy_disks [0.014395s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_physical_disks [0.013419s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_raid_level [0.013793s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_set_dir_permission [0.087869s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_share_physical_disks [0.013784s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_size_gb [0.013798s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_logical_disk [0.013306s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_raid_level [0.013698s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_size_gb [0.012970s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6 [0.072131s] ... ok {1} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions [0.010167s] ... ok {1} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases [0.012799s] ... ok {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_rpc_version [0.009925s] ... ok {1} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_object_names_are_registered [0.009647s] ... ok {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context [0.010584s] ... ok {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity [0.011426s] ... ok {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity [0.011168s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipxe_uefi [0.076334s] ... ok {1} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_empty_base [0.010618s] ... ok {1} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier [0.009814s] ... ok {1} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_notifier [0.009395s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_ipxe_ipv6 [0.070975s] ... ok {1} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_disabled [0.052658s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info [0.022922s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_ipxe [0.021565s] ... ok {1} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_with_custom_topics [0.056598s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_root_dir [0.021850s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_root_dir_ipxe [0.021597s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_with_trailing_slash [0.020547s] ... ok {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object [0.066298s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config [0.022616s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_empty_target_raid_config [0.039938s] ... ok {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_put_object_fails [0.065689s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_no_target_raid_config_after_skipping [0.022713s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_root [0.020418s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties_custom_schema [0.020990s] ... ok {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object [0.064133s] ... ok {1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper [0.012584s] ... ok {1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale [0.011795s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_multiple_root_volumes [0.041530s] ... ok {1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables [0.013154s] ... ok {1} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper [0.011959s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object [0.028892s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay [0.055813s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object_throws_for_invalid_or_unsupported_hash_name [0.010271s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_custom_schema [0.012669s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_differ [0.015310s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_hostname_safe [0.010231s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_max_size_gb [0.015179s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_datapath_id [0.010019s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_logical_name [0.009633s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_size_gb [0.015852s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_no_proxy [0.011049s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay [0.014994s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip_not_raises_exceptions [0.010254s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_datapath_id [0.011064s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_with_jbod_volume [0.015649s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac_invalid_format [0.013516s] ... ok {0} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_logical_disks [0.014712s] ... ok {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_objects [0.009561s] ... ok {1} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_warn_about_deprecated_extra_vif_port_id [0.024571s] ... ok {0} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases_objects [0.010654s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities [0.010276s] ... ok {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_all_db_objects [0.011223s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_add_to_existing_capabilities [0.009841s] ... ok {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_object_versions [0.010974s] ... ok {1} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_capabilities_not_dict [0.009942s] ... ok {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_rpc_and_objects_versions_supported [0.012157s] ... ok {1} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_file [0.021535s] ... ok {0} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_structure [0.013158s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_not_writable [0.013073s] ... ok {0} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_empty_base [0.015000s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_ok [0.011788s] ... ok {0} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context [0.011341s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_no_dir [0.015012s] ... ok {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier [0.011405s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_ok [0.014290s] ... ok {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_notifier [0.010832s] ... ok {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_publisher_id [0.009881s] ... ok {1} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_with_pass_in [0.014811s] ... ok {1} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_success [0.009580s] ... ok {0} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_publisher_id [0.012624s] ... ok {1} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_negative_setting [0.044063s] ... ok {0} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_enabled [0.053522s] ... ok {1} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_zero_setting [0.045873s] ... ok {0} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start [0.037817s] ... ok {0} ironic.tests.unit.common.test_states.StatesTest.test_state_values_length [0.010245s] ... ok {1} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_wsgi_service_with_ssl_enabled [0.043964s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init__ [0.062379s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_create_container_fails [0.061491s] ... ok {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation [0.160384s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc [0.061866s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc_resource_not_found [0.062662s] ... ok {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_active_node [0.097273s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_get_temp_url [0.062572s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_head_object [0.059122s] ... ok {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_transient_node [0.094066s] ... ok {0} ironic.tests.unit.common.test_swift.SwiftTestCase.test_update_object_meta [0.059223s] ... ok {0} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link [0.012874s] ... ok {0} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link_EEXIST [0.016339s] ... ok {0} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables [0.012695s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal [0.015001s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal_not_binary [0.014946s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip [0.009823s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_unix_file_modification_datetime [0.010861s] ... ok {0} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac [0.011439s] ... ok {1} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_resume_allocations [0.178149s] ... ok {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_invalid_capabilities [0.010757s] ... ok {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_multiple_keys [0.009590s] ... ok {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_replace_to_existing_capabilities [0.009937s] ... ok {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_non_existing_node [0.038746s] ... ok {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port [0.010929s] ... ok {0} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port_fail [0.010437s] ... ok {0} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_string [0.011745s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_free_space_ok [0.012496s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_free_space_raises [0.013475s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir [0.009862s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked [0.013496s] ... ok {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_resource_class_mismatch [0.087322s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree [0.030119s] ... ok {0} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_fail [0.011668s] ... ok {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_correct_setting [0.043674s] ... ok {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_uuid_associated_with_another_instance [0.103269s] ... ok {0} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default [0.044902s] ... ok {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_without_resource_class [0.088882s] ... ok {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_candidates_do_not_match [0.051322s] ... ok {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_check_orphaned_allocations [0.189524s] ... ok {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_changed_after_lock [0.128609s] ... ok {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out [0.064595s] ... ok {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation_with_node_id [0.169594s] ... ok {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_locked [0.158165s] ... ok {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node [0.100976s] ... ok {1} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_candidates [0.096398s] ... ok {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node_in_maintenance [0.104049s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_failure [0.015617s] ... ok {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_without_node [0.026573s] ... ok {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_candidate_nodes_mismatch [0.085428s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_db_conn [0.161605s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker [0.011135s] ... ok {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_node_associated_with_another_instance [0.097325s] ... ok {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_state_not_active [0.088330s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_no_valid_default [0.167839s] ... ok {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_traits_mismatch [0.108251s] ... ok {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_associated_node [0.090522s] ... ok {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_candidate_nodes [0.094065s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles [0.296657s] ... ok {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_unassociated_node [0.094868s] ... ok {0} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_success [0.087847s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_failed [0.253939s] ... ok {0} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_traits [0.121168s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_success [0.014655s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_no_console_enabled [0.169684s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive [0.162519s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_error [0.163955s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_not_found [0.192712s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_none_free [0.012654s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_with_mdns [0.159155s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_hardware_interfaces [0.168298s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_clears_conductor_locks [0.188747s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_hw_type_register [0.061164s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked [0.231693s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_hw_types [0.018844s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_driver [0.015456s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_no_enabled_interfaces [0.014026s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_conductor_shutdown_flag [0.165136s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns_and_debug [0.169598s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_waits_on_workerpool [0.159676s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_unregisters_conductor [0.164708s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_prevent_double_start [0.161814s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_warning_on_low_workers_pool [0.162534s] ... ok {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device [0.065217s] ... ok {1} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_validate_fail [0.067468s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_node_already_locked [0.197439s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_recover_nodes_stuck [0.615899s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_soft_power_off_timeout [0.245089s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_conductor [0.166439s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_unsupported_state [0.212186s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_worker_pool_full [0.226782s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_names [0.458033s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_spawn_fail [0.227519s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_specific_tasks [0.073333s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns [0.174300s] ... ok {1} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_automated_clean [0.253181s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_doesnt_unregister_conductor [0.164020s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor [0.043968s] ... ok {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_node_locked [0.046092s] ... ok {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_validate_fail [0.069602s] ... ok {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_supported_boot_devices [0.049878s] ... ok {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device [0.063933s] ... ok {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_node_locked [0.044611s] ... ok {1} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_deploy_timeouts [0.475642s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_exception_in_background_task [0.248933s] ... ok {1} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test_check_rescuewait_timeouts [0.252829s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_power_on [0.244619s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_disable_console_already_disabled [0.204080s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console [0.054631s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_disabled [0.054620s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_validate_fail [0.214563s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_stop_fail [0.268379s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_get_power_fail [0.236841s] ... ok {1} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_worker_pool_full [0.217906s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_no_state_change [0.233615s] ... ok {1} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy [0.220033s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_set_power_fail [0.236637s] ... ok {1} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_deprecated [0.204075s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_success [0.251064s] ... ok {1} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_no_skip_step [0.237255s] ... ok {0} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_manual_clean [0.256344s] ... ok {1} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_polling [0.234484s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_enable_console_already_enabled [0.228651s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_validate_fail [0.055998s] ... ok {1} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_skip_step [0.224819s] ... ok {1} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_worker_pool_full [0.225491s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_disabled [0.268610s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_enabled [0.242511s] ... ok {1} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_do_next_clean_step_oob_reboot_fail [0.284609s] ... ok {1} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node_validation_fails [0.025241s] ... ok {1} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port [0.072242s] ... ok {1} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_node_locked [0.044499s] ... ok {1} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_inconsistent [0.069033s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_start_fail [0.241440s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_validation_fail [0.198287s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_adopt_failed_no_power_change [0.220415s] ... ok {0} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_wrong_state [0.206950s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_allowed_in_maintenance [0.223628s] ... ok {0} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_do_next_deploy_step_oob_reboot [0.242282s] ... ok {0} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node [0.043048s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_disable_fail [0.251445s] ... ok {0} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_mac_exists [0.075341s] ... ok {0} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_conflict [0.074502s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected [0.209631s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected_provision_state_available [0.208187s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node [0.347063s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_with_allocation [0.118224s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port [0.074280s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance [0.074237s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_associated [0.208114s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_port_unbound [0.074105s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_locked [0.047351s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_unbound [0.074942s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup_node_locked [0.045277s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_enabled [0.250564s] ... ok {1} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_gone [0.090777s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_invalid_provision_state [0.209373s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__do_next_deploy_step_async [0.269768s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_power_off [0.213601s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__do_next_deploy_step_none [0.265865s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_reserved [0.192492s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__get_node_next_deploy_steps [0.066949s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_state [0.073219s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__get_node_next_deploy_steps_unset_deploy_step [0.069695s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_bound [0.070292s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup [0.078920s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector [0.077468s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_locked [0.047357s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_exception [0.303159s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_power_on [0.271746s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_takeover [0.236286s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target [0.076097s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_already_destroyed [0.107697s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_locked [0.044146s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_manage_of_failed_adoption [0.225338s] ... ok {0} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_power_on [0.071399s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__do_next_deploy_step_all [0.274642s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_agent_version_deprecated [0.481346s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanAbortTestCase.test__do_node_clean_abort_with_step_name [0.085607s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__do_next_deploy_step_continue_from_last_step [0.263532s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_bad_step_return_value [0.258566s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done [0.253318s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_execute_fail [0.259430s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console [0.280642s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_last_step_noop [0.240268s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console_error [0.293841s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__get_node_next_deploy_steps_no_skip [0.066544s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test__get_node_next_steps_exception [0.069519s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_bad_step_return_value [0.259285s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test_do_next_deploy_step_bad_step_return_value [0.301539s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_fail_in_tear_down_cleaning [0.315264s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_ironic_exception [0.303630s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps [0.450200s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_exception [0.100503s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNextDeployStepTestCase.test_do_next_deploy_step_no_steps [0.339556s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_disabled [0.239999s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_boot_validate_failure [0.230178s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_disabled [0.237707s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_take_over_failure [0.228248s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node [0.215370s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_none [0.256569s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_power_validate_fail [0.107528s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_wait [0.093796s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node_retry [0.220241s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_maintenance [0.107449s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat [0.238298s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual [0.231982s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios [0.111509s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_agent_version [0.238391s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanAbortTestCase.test__do_node_clean_abort [0.082778s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_unsupported [0.112347s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanAbortTestCase.test__do_node_clean_abort_tear_down_fail [0.084794s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_network_validate_fail [0.109277s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_power_validate_fail [0.105553s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_wait [0.108706s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps_no_skip [0.065541s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_fail_in_tear_down_cleaning [0.322885s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_no_skip_step [0.234403s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_automated_no_steps [0.450630s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_polling [0.232342s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_worker_pool_full [0.224735s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_execute_fail [0.257449s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_wrong_state [0.206514s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_next_clean_step_manual_last_step_noop [0.239803s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated [0.215923s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_all [0.309907s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios [0.096832s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_first_step_async [0.230194s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_unsupported [0.302225s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_fail [0.250127s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_enabled [0.255013s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_last_step [0.240436s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_enabled [0.258001s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok [0.222918s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_enabled [0.256441s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_worker_pool_full [0.237004s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_network_validate_fail [0.108220s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_fail [0.110199s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_configdrive_and_user_data_as_dict [0.280339s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_automated_steps_fail [0.191174s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_exception [0.111976s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_configdrive_as_dict_with_meta_data [0.278463s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_fail [0.126398s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_configdrive_db_error [0.231821s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__do_node_clean_manual_steps_fail [0.219238s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps [0.065735s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test__get_node_next_clean_steps_unset_clean_step [0.067135s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated [0.214892s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_driver_ironic_exception [0.492484s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort [0.243087s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_driver_unexpected_exception_old [0.273752s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort_last_clean_step [0.259944s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_ok [0.278135s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual [0.219308s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_ok_2 [0.291984s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort [0.243924s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort_last_clean_step [0.253873s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_ok_configdrive [0.278234s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_skip_step [0.222714s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test_do_node_deploy_steps [0.232176s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test_do_node_deploy_steps_old_rpc [0.245575s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_automated_all [0.309612s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_not_support [0.201119s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_automated_first_step_async [0.240073s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_succeeded [0.226219s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort [0.089684s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.240461s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort_clean_up_fail [0.090003s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.242003s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_bad_state [0.231003s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot [0.241664s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue [0.228177s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_invalid_state [0.210316s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_bad_state [0.227960s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_maintenance [0.202449s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_ironic_error [0.229090s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_network_validate_fail [0.201412s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_other_error [0.232007s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_power_validate_fail [0.199970s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue [0.165185s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_network_validate_fail [0.108942s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_configdrive_as_dict [0.286228s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue [0.164755s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_configdrive_swift_error [0.265624s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_enabled [0.254065s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_configdrive_unexpected_error [0.261146s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_exception [0.256028s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_configdrive_with_network_data [0.478244s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_error_old [0.272947s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_prepare_error [0.252293s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_driver_unexpected_exception [0.282393s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_ok_2_old [0.264160s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_ok_configdrive_old [0.251756s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_ok_old [0.250994s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__do_node_deploy_unexpected_prepare_error [0.262684s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_from_valid_states [2.474494s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__old_rest_of_do_node_deploy_console [0.298570s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_with_console [0.311028s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__old_rest_of_do_node_deploy_has_steps [0.241792s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_console_raises_error [0.265520s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test__old_rest_of_do_node_deploy_no_steps [0.261096s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_invalid_state [0.200659s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeDeployTestCase.test_do_node_deploy_deprecated [0.215950s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_validate_fail [0.067407s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_return_failed [0.223726s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_worker_pool_full [0.238646s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_errors [0.230562s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify [0.233970s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescue [0.227166s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify_get_state_fails [0.231086s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescuewait [0.225345s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify_validation_fails [0.230212s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_invalid_state [0.239516s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide [0.216354s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_maintenance [0.067588s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_power_validate_fail [0.100884s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide_in_maintenance [0.204910s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_rescue_validate_fail [0.104842s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_invalid_state [0.203284s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provisioning_action_worker_pool_full [0.235674s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_no_worker_avail [0.017925s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_no_deploywait_after_lock [0.019437s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_worker_limit [0.017353s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_maintenance [0.081068s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeout [0.018210s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exit_with_other_exception [0.017806s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exiting_no_worker_avail [0.021588s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_worker_limit [0.017684s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_validate_fail [0.071654s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes [0.239970s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_provision_rescue_abort [0.232863s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_alive [0.184596s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover [0.226603s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_maintenance [0.207492s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_without_console [0.252611s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_node_not_locked [0.250365s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_error [0.027010s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_fail [0.025057s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_maintenance_on_upgrade_lock [0.023618s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded2 [0.042813s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded_notify [0.042817s] ... ok /usr/lib/python3.6/site-packages/oslo_serialization/jsonutils.py:192: UserWarning: Cannot convert to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_power_state_sync_max_retries_gps_exception [0.050785s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_retry_then_success [0.025730s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync [0.042435s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_allocation [0.490596s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_notify [0.045464s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync [0.025658s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync_failed [0.025798s] ... ok /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) {1} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_not_set [0.061131s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_disappears_on_acquire [0.018725s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_power_transition_on_acquire [0.018048s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_locked_on_acquire [0.018024s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_in_maintenance_on_acquire [0.018668s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_failed [0.017559s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_success [0.020513s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_driver_raises_error [0.250202s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_already_mapped [0.016415s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_good [0.016482s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test__sync_power_state_multiple_nodes [0.028644s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_disappears_on_acquire [0.016112s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_deploywait_on_acquire [0.017551s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_enroll_on_acquire [0.017699s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_maintenance_on_acquire [0.017440s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_power_transition_on_acquire [0.017250s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_not_mapped [0.016778s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_protected [0.205195s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerTestHardwareTypeProperties.test_hardware_type_properties_manual_management [0.134251s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_automated_clean [0.214699s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake [0.161064s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_clean_step_not_abortable [0.216874s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ipmi [0.331439s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_manual_clean [0.210527s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_snmp [0.134499s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_manage [0.216350s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_disappears [0.017735s] ... ok {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test__mapped_to_this_conductor [0.178370s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_locked [0.016857s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_with_other_exception [0.017435s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_maintenance_after_lock [0.018575s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_not_mapped [0.016520s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_timeout [0.016970s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_disappears [0.017334s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_locked [0.017100s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_no_acquire_after_lock [0.022139s] ... ok {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes [0.152143s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_not_mapped [0.017566s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_to_maintenance_after_lock [0.018079s] ... ok {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes_shutdown [0.147392s] ... ok {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail [0.057983s] ... ok {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_deploy_templates [0.055431s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_cleaning [0.259173s] ... ok {1} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_unexpected [0.058683s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_exceptions_skipping [0.194425s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_correct_power_state_on_upgrade_lock [0.025144s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded [0.047458s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test__check_inspect_wait_timeouts [0.239440s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged [0.025200s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_validate_fail [0.024287s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_wrong_provision_state_on_upgrade_lock [0.026029s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_enroll_on_acquire [0.018926s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_power_validate_fail [0.104129s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_mapped [0.018229s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_no_free_worker [0.016576s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_node_locked [0.016744s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_not_mapped [0.015917s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_worker_limit [0.016119s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_locked_on_acquire [0.021102s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node [0.018074s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspect_wait [0.224468s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fail [0.119888s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ilo [0.135935s] ... ok {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_instance_traits [0.057747s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspecting [0.226097s] ... ok {0} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_dynamic_driver_interfaces [0.058001s] ... ok {0} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi [0.069755s] ... ok {0} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_node_locked [0.041936s] ... ok {0} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_not_implemented [0.065867s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_other_state [0.225486s] ... ok {0} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_invalid_param [0.071370s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_validate_fail [0.100440s] ... ok {0} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_missing_param [0.068539s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_worker_pool_full [0.235666s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_ok [0.223120s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits [0.135393s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_invalid_parameter_value [0.074400s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_raises_error [0.222380s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_locked [0.074319s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_not_found [0.076230s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_unexpected_error [0.221639s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits [0.133177s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_empty [0.082141s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_replace [0.130561s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_locked [0.087209s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_all [0.086925s] ... ok {0} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_1_nodes_8_workers [0.017468s] ... ok {0} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_8_workers [0.016908s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_not_found [0.087306s] ... ok {0} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_node_prioritization [0.059183s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_trait_not_found [0.083916s] ... ok {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_6_nodes_8_workers [0.017846s] ... ok {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_1_worker [0.017403s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties [0.165109s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.022720s] ... ok {1} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_iface_not_supported [0.091946s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config [0.099484s] ... ok {1} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties [0.168200s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_empty [0.110536s] ... ok {1} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_empty [0.111818s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_invalid_parameter_value [0.097918s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config [0.101817s] ... ok {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_non [0.165883s] ... ok {0} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_invalid_parameter_value [0.097875s] ... ok {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_part [0.162930s] ... ok {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data [0.155301s] ... ok {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task [0.175994s] ... ok {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_multiple_workers [0.156048s] ... ok {1} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_shutdown [0.164762s] ... ok {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_all [0.160085s] ... ok {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_maintenance [0.167503s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_partial_ok [0.248649s] ... ok {0} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_no_management [0.164124s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_invalid_state [0.212658s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done [0.321908s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_maintenance [0.071899s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_power_validate_fail [0.086964s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_error [0.348638s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done_old [0.288726s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_old [0.276290s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting [0.305816s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting_old [0.289382s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state [0.319900s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state_old [0.281424s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_protected [0.196879s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state [0.515780s] ... ok {1} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_worker_pool_full [0.261364s] ... ok {1} ironic.tests.unit.conductor.test_manager.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout_fallback [0.048783s] ... ok {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action [0.014990s] ... ok {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_copies_object [0.014985s] ... ok {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_object [0.013959s] ... ok {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action [0.015187s] ... ok {1} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_raise [0.014428s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state_old [0.289150s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_off [0.098531s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_associated [0.075311s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_locked [0.098961s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_from_available_state [0.215551s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_traits_validate_fail [0.081903s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation [0.124927s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_fail [0.087144s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_forbidden [0.098926s] ... ok {0} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_template_fail [0.083971s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_from_invalid_driver [0.098318s] ... ok {0} ironic.tests.unit.conductor.test_manager.StoreConfigDriveTestCase.test_store_configdrive [0.047845s] ... ok {0} ironic.tests.unit.conductor.test_manager.StoreConfigDriveTestCase.test_store_configdrive_swift [0.049055s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_hardware_type [0.092531s] ... ok {0} ironic.tests.unit.conductor.test_manager.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout [0.050622s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_raise [0.014769s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_backport_versions [0.019008s] ... ok {0} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_object [0.014141s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_on [0.091217s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node [0.085277s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_in_maintenance [0.129022s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance [0.623356s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_not_allowed_state [0.251252s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_invalid_driver [0.037924s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_reason_without_protected [0.032913s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_unset [0.192505s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_allowed_state [0.333140s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_not_allowed [0.214309s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port [0.082714s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_active_state_and_maintenance [0.280825s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_deleting_state [0.072905s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_manageable_state [0.081331s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_node_deleting_state [0.076023s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_port_changed_failure [0.077676s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_enroll_node [0.086835s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_to_node_in_inspect_wait_state [0.080754s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup [0.083554s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_association_with_ports [0.215094s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_node_locked [0.049917s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_manageable_state [0.220020s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_locked [0.043797s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_type [0.077678s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state [2.920986s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_uuid [0.071016s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target [0.074241s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_invalid [0.135818s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_locked [0.045440s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_set_false [0.083205s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_not_found [0.071704s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_invalid_state [0.033299s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_uuid [0.075857s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_volume_type [0.072991s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_set [0.138354s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_async [0.125526s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_driver_not_found [0.120203s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_no_default_interface [0.134975s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods [0.129460s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_no_default_interface [0.135511s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_with_reset_interfaces [0.652484s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods [0.194071s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_http_method_not_supported [0.199670s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_no_previous_value [0.393853s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_active_node [0.074126s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_maintenance [0.076740s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_locked [0.042822s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_node_already_locked [0.204531s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_maintenance [0.075959s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_conflict [0.072910s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_unsupported_method [0.199208s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_inconsistent [0.072172s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach [0.070039s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_active_node [0.082942s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_node_locked [0.046359s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_failure [0.077651s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_network_error [0.071519s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_portgroup_physnet_inconsistent [0.068451s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach [0.069737s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_raises_network_error [0.073206s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_active_state_and_maintenance [0.224943s] ... ok {1} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_validate_error [0.068889s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_mask_secrets [0.010926s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_deleting_state [0.079915s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification [0.023897s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_payload_exc [0.021990s] ... ok {1} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification [0.022101s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_cap [0.011697s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_capped [0.011983s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_versions_in_sync [0.009668s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_False [0.015760s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_power_state [0.016205s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_deploy [0.016144s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_allocation [0.019797s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_allocation [0.015706s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_node [0.016365s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_inspect_wait_state [0.227431s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_portgroup [0.015972s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_target [0.017276s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_tear_down [0.015593s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_boot_device [0.015712s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector [0.074281s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_conductor_for [0.026862s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_console_information [0.016669s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_raid_logical_disk_properties [0.015778s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic [0.020300s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_duplicate [0.077444s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic_no_conductors [0.017952s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_known_driver [0.027652s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_unknown_driver [0.038956s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_power_on [0.072350s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_known_driver [0.025295s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_unknown_driver [0.028319s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inject_nmi [0.016322s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_duplicate [0.077056s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inspect_hardware [0.017001s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions [0.015745s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions [0.015859s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions_invalid_version [0.016683s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_not_found [0.071248s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits_all [0.017350s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_boot_device [0.015964s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_console_mode [0.015700s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_target_raid_config [0.015683s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_power_on [0.070949s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_node [0.020825s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_connector [0.015424s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vendor_passthru [0.015722s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_list [0.015914s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_http_method_not_supported [0.126092s] ... ok {1} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_invalid_parameter_value [0.072245s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_only_enabled [0.053716s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_method_not_supported [0.125954s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps [0.067622s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_get_steps_exception [0.071223s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync [0.137997s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_no_steps [0.066658s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_not_supported [0.065892s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_validation_failed [0.126597s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_disable_core_steps [0.070083s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_error [0.072006s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_steps [0.069588s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async [0.206710s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps [0.071376s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates [0.072618s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_invalid_arg [0.073332s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_missing_method_parameters [0.212164s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_not_supported [0.068439s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps [0.090693s] ... ok {1} ironic.tests.unit.conductor.test_steps.ValidateDeployTemplatesTestCase.test_error [0.066961s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_shared_lock [0.201123s] ... ok {1} ironic.tests.unit.conductor.test_steps.ValidateDeployTemplatesTestCase.test_ok [0.072950s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_second_arg [0.010946s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_first_arg [0.010386s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_second_arg [0.010347s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_error_state [0.012853s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_resource_released [0.013243s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_stable [0.011853s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_unstable [0.012480s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_notify [0.012166s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback [0.012715s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_release_clears_resources [0.011218s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_sync [0.202199s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_build_driver_exception [0.029176s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_portgroups_exception [0.028923s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_volconn_exception [0.026539s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_reserve_exception [0.026542s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_no_driver [0.028930s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_build_driver_exception [0.029022s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_portgroups_exception [0.024023s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_worker_pool_full [0.212797s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_voltgt_exception [0.026375s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_node_get_exception [0.023683s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after [0.031445s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_vif_invalid_for_attach [0.068062s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_exception_while_yielded [0.028367s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_link_fails [0.028562s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_validate_error [0.073960s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_spawn_fails [0.032900s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_node_locked [0.044221s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock [0.030495s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_cancelled [0.012819s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_exists [0.011066s] ... ok {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout [0.012178s] ... ok {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_random_exception [0.012634s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_list [0.062284s] ... ok {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_no_cleanup [0.011897s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_emit_notification [0.014457s] ... ok {1} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_not_deploy [0.014937s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_cleaning [0.013935s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_notify_exc [0.026211s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_deploying [0.014597s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanwait [0.012059s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification_error_status [0.026075s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_manual [0.012367s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_fail [0.011772s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_set_notification [0.026171s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout [0.013191s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout_handler_call [0.012422s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_state_corrected_notification [0.026376s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout [0.014544s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_other_error [0.011772s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits [0.019371s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_no_worker [0.012701s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler [0.012335s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits_replace [0.022258s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_bad_state [0.013692s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_True [0.017502s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_other_exc [0.013801s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_false [0.016907s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_no_worker [0.015505s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_true [0.017192s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_no_worker [0.012428s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_clean [0.017393s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_node [0.016546s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_port [0.016903s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_connector [0.016703s] ... ok {1} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track [0.072924s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_clean [0.017723s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy [0.016972s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_rescue [0.016863s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_unrescue [0.015960s] ... ok {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test__notify_conductor_resume_operation [0.071623s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_driver_vendor_passthru [0.016903s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_properties [0.019977s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_vendor_passthru_methods [0.017431s] ... ok {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_deploy [0.068502s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_vendor_passthru_methods [0.017410s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_boot_devices [0.016742s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_doesnt_cache [0.033092s] ... ok {1} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_true [0.073981s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_doesnt_cache [0.035766s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat [0.016648s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action [0.016213s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_valid [0.065197s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action_invalid_version [0.017221s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions_invalid_version [0.016315s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits [0.016356s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_serialized_instance_has_uuid [0.014580s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_port [0.016447s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_db_not_in_sync [0.091922s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_portgroup [0.020447s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_target [0.015686s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_validate_driver_interfaces [0.015879s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_attach [0.016189s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_different_state [0.065541s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_detach [0.016946s] ... ok {0} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_instance_deploy_failure [0.070332s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_already_being_processed [0.093173s] ... ok {0} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_ok [0.075177s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state [0.090987s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps [0.067076s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state_notify [0.091771s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_unsorted [0.068730s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_invalid_arg [0.066711s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state_db_not_in_sync [0.095891s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_missing_required_arg [0.067869s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state [0.127744s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_automated [0.094516s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state_notify [0.095257s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_manual [0.091689s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_user_steps [0.070251s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off [0.106083s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_driver_steps [0.074743s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_storage_detach [0.104695s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_user_steps [0.070507s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_driver_steps [0.070386s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_notify [0.113935s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_driver_steps [0.071187s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_no_timeout [0.103278s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deploy_steps_unsorted [0.076292s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps_only_enabled [0.058591s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_storage_attach [0.108353s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates_no_traits [0.067292s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure_notify [0.104730s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_steps_from_deployment_templates [0.071492s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_adopting [0.066275s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps [0.068270s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_non_existent_device [0.069688s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_core [0.072919s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_adopting [0.068871s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_non_core [0.068332s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_duplicates [0.068126s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot [0.107432s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_get_steps_exception [0.070133s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot_timeout [0.109029s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_missing_required_arg [0.073305s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off [0.102595s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_storage_detach [0.102803s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_no_steps [0.263905s] ... ok {1} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_timeout [0.111070s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits [0.012020s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_type [0.011123s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_override_core [0.071291s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_no_instance_traits [0.011931s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_first_arg [0.011483s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_no_state_change [0.011542s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_only_once [0.012524s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_stable [0.012209s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_unstable [0.012243s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_callback_stable_state [0.014962s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_1 [0.082335s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_fsm_raises [0.012312s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_stable_state [0.014932s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback_and_error_handler [0.012713s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_target_state [0.014811s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock [0.030828s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_2 [0.084451s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_no_retries [0.027740s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_then_lock [0.031179s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_1 [0.076038s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_ports_exception [0.028286s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_voltgt_exception [0.028118s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_nested_acquire [0.034722s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_3 [0.082187s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_init_prepares_fsm [0.033205s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock [0.029871s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_ports_exception [0.025509s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_1 [0.077636s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_volconn_exception [0.029173s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook [0.027208s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_1 [0.077766s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook_exception [0.029035s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock_refreshes_fsm [0.061405s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error [0.011664s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_2 [0.080457s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_no_error [0.012531s] ... ok {0} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout_shared_lock [0.010666s] ... ok {0} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler [0.012249s] ... ok {0} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_ironic_exception [0.012177s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler [0.011949s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanfail [0.011426s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_teardown [0.011879s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_3 [0.087775s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_tear_down_error [0.014495s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_known_exc [0.013813s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_unknown_exc [0.014382s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_no_worker [0.015233s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_other_error [0.012226s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_ironic_exc [0.012986s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_set_failed_state_false [0.011817s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_2 [0.092193s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_other_error [0.012209s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_no_worker [0.025358s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_other_error [0.025350s] ... ok {0} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_other_error [0.012268s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_1 [0.082438s] ... ok {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_config_false [0.068710s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_3 [0.078403s] ... ok {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_error_blocks [0.086388s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_1 [0.072368s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_2 [0.069548s] ... ok {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_no_heartbeat [0.086610s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_1 [0.078312s] ... ok {0} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_power_off_false [0.068849s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_clean [0.067140s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets_fix [0.078503s] ... ok {1} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_create [0.066422s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_no_need [0.075268s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_power_on [0.072287s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_true [0.073384s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_with_smart_nic_port [0.081447s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_false [0.032194s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_true [0.046132s] ... ok {0} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_false [0.069587s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncPostgres.test_models_sync ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_create_schema_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {0} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_unsupported [0.071250s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_walk_versions ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_create_schema_and_version ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__calculate_target_state [0.015735s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_version ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_twice ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_walk_versions ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up [0.014002s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up_with_data [0.014143s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_default [0.014371s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_false [0.016170s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_failed_getting_state_notify [0.094107s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check [0.017824s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value [0.025655s] ... ok {1} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check [0.018066s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create [0.023426s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_same_state [0.105656s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_that_does_not_exist [0.026015s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_uuid [0.026938s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id [0.024041s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name [0.023923s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid [0.024316s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state [0.111466s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid_that_does_not_exist [0.025924s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_conductor_affinity [0.042919s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on [0.104989s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_node [0.047386s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_rsc [0.040993s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_invalid_fields [0.022952s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_storage_attach [0.108384s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_conflict [0.043411s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_success [0.037064s] ... ok {1} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_associated_with_another_node [0.048392s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot [0.106735s] ... ok {1} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_no_model [0.021200s] ... ok {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_empty_db [0.070061s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure [0.108007s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_valid [0.070131s] ... ok {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_1 [0.118620s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_non_existent_mode [0.065432s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_valid [0.067530s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_empty_instance_traits [0.011145s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_trait_type [0.010355s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_missing [0.010364s] ... ok {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_same_nodes [0.204583s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_1 [0.075683s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_2 [0.072850s] ... ok {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_one_node [0.154026s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_2 [0.073010s] ... ok {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_version_exists [0.076175s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_1 [0.075015s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_2 [0.071172s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_2 [0.074987s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_3 [0.071132s] ... ok {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_emptyDB [0.267412s] ... ok {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_missing_version_columns [0.016916s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_1 [0.075093s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list [0.032936s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_node_not_exist [0.025494s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_2 [0.076064s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list [0.058466s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_node_not_exist [0.025242s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_2 [0.072894s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list [0.034388s] ... ok {1} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_node_not_exist [0.025967s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_create_chassis_already_exists [0.019078s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets [0.079873s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_that_does_not_exist [0.033351s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_id [0.019226s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_uuid [0.018466s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_update [0.070728s] ... ok {0} ironic.tests.unit.conf.test_auth.AuthConfTestCase.test_add_auth_opts [0.014479s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_list [0.030438s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_api.TestDBWriteMethodsRetryOnDeadlock.test_retry_on_deadlock [0.010022s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis [0.020804s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_that_does_not_exist [0.019063s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_reservations_for_conductor [0.064013s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_target_power_state [0.059376s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_many_ht [0.029436s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht_groups [0.026250s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_with_old_conductor [0.041567s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_with_online_true [0.024084s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors [0.025848s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_list_hardware_type_interfaces [0.034084s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_existing_fails [0.025562s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces [0.022317s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_deadlock [0.023066s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncMysql.test_models_sync ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_offline_conductor [0.028892s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_twice ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {0} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class [0.011470s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor [0.024504s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class_bad [0.011893s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor_hardware_interfaces [0.024974s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value [0.025074s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create [0.018938s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_name [0.028711s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_uuid [0.020555s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_no_steps [0.018997s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_uuid [0.027068s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_destroy [0.028173s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation [0.031829s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_name [0.026669s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names [0.029704s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_with_node [0.054724s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_duplicate_name [0.028234s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id_that_does_not_exist [0.027031s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_not_found [0.022275s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name_that_does_not_exist [0.027842s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_add [0.032025s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list [0.039518s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_state [0.039539s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_sorted [0.034452s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_allocation_not_found [0.023395s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation [0.024809s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_duplicated_name [0.028144s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_remove_all [0.224975s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_node_already_associated [0.059102s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace [0.027892s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_not_found [0.028121s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_uuid [0.022662s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_duplicate [0.036832s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_node_not_found [0.025412s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_with_node_id [0.043362s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_by_node_id [0.034568s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_not_exists [0.027941s] ... ok {0} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions [0.048740s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags [0.033728s] ... ok {0} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_null [0.035237s] ... ok {1} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_empty_node_tags [0.033857s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait [0.035099s] ... ok {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_max_count_zero [0.120957s] ... ok {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_2_some_nodes [0.329295s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_at_limit [0.519264s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate [0.045890s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions [0.421281s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor [0.271560s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate_at_limit [0.527463s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor_old [0.037017s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_ignore_node [0.236345s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_no_version [0.076222s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_old [0.079981s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_duplicate [0.035158s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_setting_not_exist [0.034704s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting [0.033378s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_over_limit [0.537152s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list_node_not_exist [0.025990s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_not_found [0.027616s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_setting_not_exist [0.034628s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_not_exists [0.029144s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_node_not_exist [0.024903s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list [0.042282s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_over_limit [0.027191s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_node_not_exist [0.026900s] ... ok {0} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_setting_not_exist [0.035112s] ... ok {1} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits [0.052887s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_allocations_get_destroyed_after_destroying_a_node_by_uuid [0.037359s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis [0.042798s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list [0.032582s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_with_nodes [0.038760s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_already_exists [0.022712s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_that_does_not_exist [0.020056s] ... ok {0} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_uuid [0.016519s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node [0.040083s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_that_does_not_exist [0.020970s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_many_ht [0.040132s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_one_ht [0.031875s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_id [0.060542s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_no_ht [0.025429s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_invalid_uuid [0.014314s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht [0.027531s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor [0.020018s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_name [0.056550s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor_not_found [0.021964s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_ignore_online [0.022589s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_online_conductors [0.023383s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses [0.067612s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces_duplicate [0.026346s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_override [0.025723s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_not_found [0.057065s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor [0.025440s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_chassis_not_found [0.017817s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_not_found [0.021470s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_name [0.021424s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_invalid_step_no_interface [0.022274s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_id [0.026561s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_uuid [0.026305s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list [0.029042s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names_no_match [0.028402s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_with_filters [0.185130s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_sorted [0.031054s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_defaults [0.041471s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_extra [0.027597s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_inspection [0.035686s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_name [0.027169s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node [0.049444s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace_args [0.054442s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_locked_node [0.037300s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_uuid_not_allowed [0.049505s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_after_release [0.071135s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag [0.042597s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_node_not_exist [0.036008s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_non_existent_node [0.078360s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag [0.052235s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_of_reserved_node_fails [0.046668s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_not_found [0.028446s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_empty [0.028929s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node [0.051667s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_node_not_exist [0.027881s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_exists [0.035114s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node_by_uuid [0.052434s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_node_not_exist [0.027377s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning [0.037069s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_duplicate [0.028938s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning_not_found [0.018041s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_node_not_exist [0.026900s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node [0.033399s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags [0.041768s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at [0.035270s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags_node_not_exist [0.031543s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_provision [0.034268s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_node_not_exist [0.026244s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_uuid [0.019610s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_tags [0.039597s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait [0.056594s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_node_not_found [0.026078s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_traits [0.043966s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node_uuid [0.036241s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_by_node_id [0.050303s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_empty [0.028173s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node_uuid [0.042862s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_node_not_exist [0.028654s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup [0.033248s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_not_empty [0.031469s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_exists [0.052201s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_node_not_exist [0.026012s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_that_does_not_exist [0.030489s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name_that_does_not_exist [0.023988s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits [0.040143s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid [0.024434s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid_that_does_not_exist [0.023653s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_at_limit [0.040038s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_duplicate [0.028852s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list [0.035641s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id_that_does_not_exist [0.024956s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_empty_node_traits [0.037374s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_destroy_port [0.028346s] ... ok {0} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits_node_not_exist [0.028184s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_id [0.026032s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_impossible [0.020905s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_non_existing [0.026647s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list [0.036187s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node [0.020492s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_sorted [0.037124s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_instance_already_associated [0.024421s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id [0.027319s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_name_duplicate [0.024128s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_tags [0.014475s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_that_does_not_exist [0.030019s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_traits [0.014669s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_that_does_not_exist [0.026513s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_by_uuid [0.041693s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_duplicated_address [0.029229s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_type_connector_id [0.023943s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_destroy_volume_connector [0.027576s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance [0.064268s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_id [0.026415s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_wrong_uuid [0.030731s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_uuid [0.026886s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id_that_does_not_exist [0.024953s] ... ok {1} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_fails_invalid_id [0.024061s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_multiple_found [0.070280s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_uuid [0.022839s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_destroy_volume_target [0.027308s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_uuid [0.058997s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_id [0.026391s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list_sorted [0.032318s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list [0.051164s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id_that_does_not_exist [0.022946s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_description [0.042292s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_duplicated_nodeid_and_bootindex [0.032058s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_fails_invalid_id [0.023931s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_that_does_not_exist [0.044441s] ... ok {1} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_uuid [0.020441s] ... ok {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_default_dhcp [0.010742s] ... ok {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_bad_dhcp [0.010060s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_description [0.032430s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address [0.025314s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_provision [0.038542s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_with_exception [0.024036s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_cols [0.043501s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_extra [0.073510s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_filters [0.061930s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node_by_uuid [0.037444s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup [0.073775s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_existent_node [0.045212s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup_with_exception [0.077538s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_reservation [0.041173s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_in_exception_message [0.039972s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_with_exception [0.074178s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node [0.070769s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses [0.072622s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node [0.055415s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp [0.073729s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node_by_uuid [0.057645s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_fails [0.077603s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_associate_and_disassociate [0.057736s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at [0.036091s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_no_vif_data [0.073285s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_instance_already_associated [0.053330s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_name_duplicate [0.034808s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_set_sleep_and_fake [0.090551s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_no_provision [0.036932s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_not_found [0.020543s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node [0.036795s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_unset_sleep_and_fake [0.087788s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node [0.038481s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_address [0.024789s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_name [0.024804s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts [0.076357s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_uuid [0.025390s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_no_mode [0.029500s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_with_exception [0.071982s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_uuid [0.032720s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address [0.024769s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address_that_does_not_exist [0.031119s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy [0.089552s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id [0.026237s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id_that_does_not_exist [0.024440s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name [0.025549s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy_iwdi [0.092486s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list_sorted [0.036870s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id [0.024991s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup [0.025719s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_clean_up [0.069814s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_address [0.028406s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_name [0.029021s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_not_found [0.026099s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_continue_deploy [0.102864s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_uuid [0.023392s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_address [0.026621s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_uuid [0.027258s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps [0.070075s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address [0.028371s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_uuid [0.031381s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps_priority [0.072885s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id [0.028550s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port [0.028170s] ... ok {0} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_uuid [0.024846s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_uuid [0.024831s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning [0.090020s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list [0.034942s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list_sorted [0.035662s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id [0.025863s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_reboot_and_finish_deploy_with_smartnic_port [0.108985s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector [0.031525s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_duplicated_type_connector_id [0.028728s] ... ok {0} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_uuid [0.023786s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_reboot_to_instance_deprecated [0.088836s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target [0.024857s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_nodeid_and_bootindex [0.024147s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_uuid [0.027437s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_with_smartnic_port [0.071683s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list [0.035711s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id [0.037678s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate [0.071141s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id [0.028055s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id_that_does_not_exist [0.025461s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target [0.029649s] ... ok {0} ironic.tests.unit.dhcp.test_factory.CompareBasetoModules.test_drivers_match_dhcp_base [0.011328s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate_not_iwdi_netboot [0.090416s] ... ok {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_dhcp_some_error [0.040718s] ... ok {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_only_one_dhcp [0.012287s] ... ok {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_neutron_dhcp [0.010739s] ... ok {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_none_dhcp [0.011106s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__calculate_memory_req [0.070751s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_invalid_ip [0.028027s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_node_ip [0.080456s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_int_info [0.075204s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info [0.022649s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_defaults [0.021156s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_no_playbook [0.021977s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_extra [0.081009s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_all_gpt [0.037513s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_int_info [0.075533s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints [0.088323s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_cleaning [0.077081s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables [0.081457s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_provisioning [0.075118s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_file [0.099030s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_tenant [0.076568s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_url [0.084888s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses_for_port_and_portgroup [0.082768s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_insecure_activated [0.082461s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_some_failures [0.077720s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_root_device_hints [0.082562s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_python3 [0.023798s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_deploy [0.087219s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_nodebug [0.024936s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_names_not_unique [0.022230s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step [0.088551s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config [0.079359s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config [0.057845s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step_no_success_log [0.104115s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_properties [0.023953s] ... ok /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) ERROR [ironic.drivers.modules.drac.bios] DRAC driver failed to get the BIOS settings for node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123. Reason: An unknown exception occurred. {1} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config_fail [0.059808s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare [0.110611s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_get_drac_client [0.136811s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_callback_no_steps [0.068858s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_protocol [0.022788s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_path [0.022181s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_port [0.021318s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_with_smartnic_port [0.097525s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus [0.065614s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_BIOS_boot_mode [0.067044s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_with_smartnic_port [0.102928s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_empty_list [0.067390s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_reboot_and_finish_deploy_force_reboot [0.104162s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_virtual_disk [0.098042s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_reboot_and_finish_deploy_soft_poweroff_retry [0.090866s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_with_existing_ports [0.095634s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job_fail [0.024840s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_reboot_to_instance [0.094220s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs [0.025742s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_fail [0.024982s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix_invalid [0.025287s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down [0.072823s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning [0.069776s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs [0.075205s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs_fail [0.070447s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning_with_smartnic_port [0.078114s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_empty_boot_mode_list [0.027479s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_list_boot_modes_fail [0.027642s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_clean_steps [0.058938s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_with_no_bios_setting [0.027469s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_configdrive_path [0.023212s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_python_interpreter [0.022896s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device [0.035059s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_root_msdos [0.023782s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_change [0.032151s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_drac_boot_device [0.038869s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_fail_advanced [0.086431s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_not_flexibly_programmable [0.034125s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_extra_vars [0.024304s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_job_not_scheduled [0.033696s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook [0.025429s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_fail [0.029248s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_override [0.025518s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_debug [0.023843s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_without_clean_step [0.033559s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_fail [0.025956s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps [0.026213s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_missing [0.022540s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_clear_job_queue [0.076354s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device [0.058781s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config [0.075445s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device_from_driver_internal_info [0.059247s] ... ok Error while running foo: bar. This is bad/usr/lib/python3.6/site-packages/oslo_serialization/jsonutils.py:192: UserWarning: Cannot convert to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b"" is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:382: FutureWarning: b'""' is an invalid UUID. Using UUIDFields with invalid UUIDs is no longer supported, and will be removed in a future release. Please update your code to input valid UUIDs or accept ValueErrors for invalid UUIDs. See https://docs.openstack.org/oslo.versionedobjects/latest/reference/fields.html#oslo_versionedobjects.fields.UUIDField for further details FutureWarning) ERROR [ironic.drivers.modules.drac.bios] DRAC driver failed to delete the pending BIOS settings for node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123. Reason: An unknown exception occurred. {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_properties [0.025039s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config_fail [0.086323s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_sensors_data [0.070654s] ... ok ERROR [ironic.drivers.modules.drac.bios] DRAC driver failed to commit the pending BIOS changes for node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123. Reason: An unknown exception occurred. {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_fail [0.073189s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_known_good_state [0.074481s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_with_reboot [0.075866s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config [0.072120s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device [0.095700s] ... ok ERROR [ironic.drivers.modules.drac.bios] DRAC driver failed to set the BIOS settings for node 1be26c0b-03f2-4d2e-ae87-c02d7f33c123. Reason: An unknown exception occurred. {0} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config_fail [0.074924s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info [0.023335s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed_in_deploy [0.095334s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_port [0.024020s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_host [0.023739s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_password [0.022840s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_protocol [0.023796s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_username [0.023802s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_clean [0.115622s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus_without_ht_enabled [0.069492s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed_in_deploy [0.107115s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_nodes [0.022951s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_boot_setting_failure [0.070552s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state_fail [0.061482s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_nic_setting_failure [0.068786s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_properties [0.024608s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_UEFI_boot_mode [0.068199s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_off [0.071739s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__guess_root_disk [0.066796s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on [0.072096s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_get_properties [0.034301s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_fail [0.074629s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware [0.100632s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_timeout [0.072448s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_fail [0.071625s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_50 [0.038016s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_nonroot_only [0.036103s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_cpu [0.071410s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_root_only [0.037705s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job [0.025599s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_all_steps [0.037885s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs_fail [0.025367s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue [0.024967s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_pending_delete [0.038899s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_invalid [0.029700s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_with_more_than_min_disks_for_raid_level [0.039122s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix [0.026810s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_cdrom [0.026923s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_with_config_job [0.046990s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_bios [0.028807s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config [0.026620s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_uefi [0.028744s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config [0.026147s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_pxe [0.027727s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_realtime [0.024484s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device [0.029820s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_reboot [0.024238s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk [0.025510s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_not_persistent [0.031299s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_with_optional_attrs [0.026297s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_no_boot_device [0.030279s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk [0.026658s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode [0.030909s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks_fail [0.025662s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_empty_boot_mode_list [0.029737s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers [0.025104s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_non_persistent_boot_mode [0.030622s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable [0.032085s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_not_persistent [0.027758s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_not_enough_space [0.113218s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_unknown_boot_mode [0.036152s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_with_clean_step [0.034054s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_without_clean_step [0.033659s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_with_clean_step [0.033864s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_backing_physical_disks [0.130453s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_supported_boot_devices [0.063241s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_reset_idrac [0.071457s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_and_share_physical_disks [0.131978s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device_fail [0.072143s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_10 [0.127774s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed_in_clean [0.113315s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_predefined_number_of_phyisical_disks [0.126573s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_share_physical_disks [0.123476s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_deploy [0.301039s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_deploy [0.131831s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_failed_job [0.110982s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_mode [0.070041s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_sensors_data [0.053040s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed_in_clean [0.109259s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_modes [0.058106s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi_fail [0.080068s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed_in_deploy [0.099366s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device [0.084691s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed_in_clean [0.122882s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode [0.085135s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_without_update [0.056112s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_validate [0.055571s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status [0.042179s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs [0.027356s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_fail [0.082358s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state [0.058983s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on_timeout [0.075100s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state [0.041575s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_2_disk_and_raid_level_1 [0.021991s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_10 [0.021699s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_invalid_raid_level [0.022191s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_excelude_all [0.021990s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration [0.021599s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__max_volume_size_mb [0.022856s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__volume_usage_per_disk_mb [0.025359s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_without_config_job [0.023701s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config_fail [0.016720s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config [0.014551s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config_fail [0.014061s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config_fail [0.014907s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config [0.014084s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_fail [0.014510s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_fail [0.015478s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk_fail [0.015355s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks [0.013890s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers_fail [0.016562s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks [0.014418s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks_fail [0.014292s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_cleaning_foreign_drives [0.075654s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_delete_existing [0.076396s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_disk_already_reserved [0.061414s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_with_sharing_disabled [0.063534s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_clean [0.065431s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_deploy [0.076517s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_no_change [0.067966s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size [0.072528s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_without_backing_disks [0.057259s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_controllers [0.067958s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_max_and_sharing_same_disks [0.058690s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_level [0.075871s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_clean [0.066585s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_no_change [0.068786s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_with_non_realtime_controller [0.067906s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_get_logical_disks [0.053242s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_device [0.040069s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_properties [0.031993s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_devices [0.039606s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi [0.049414s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device_fail [0.046450s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode_fail [0.047002s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot [4.749407s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_power_state [0.040400s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_not_reached [20.873241s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_timeout [2.471870s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_properties [0.031419s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_supported_power_states [0.030192s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_not_reached [12.123817s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_timeout [2.591157s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info [0.013700s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme [0.015853s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.013656s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_get_properties [0.031233s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_cleaning [0.058783s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_cleaning [0.059235s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_cleaning [0.056359s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_deploy [0.057710s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_cleaning [0.061395s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_configuration [0.053723s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_cleaning [0.197978s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_cleaning [0.040670s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_cleaning [0.058165s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_post_boot [0.042796s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_pre_boot [0.042218s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings [0.035147s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_missing_parameter [0.037339s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_ilo_error [0.033282s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_unknown_error [0.042071s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_get_properties [0.035296s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance [0.031590s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_exc [0.031887s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_false [0.056005s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_true [0.042222s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create [0.056440s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_glance_image [0.052281s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_object_name [0.013127s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_recreate_boot_iso_use_webserver [0.058228s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_MissingParam [0.052766s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_valid_uuid [0.041828s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_non_glance_partition_image [0.042182s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_whole_disk_image [0.048271s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_inst_info [0.044016s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.043538s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.049673s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_without_boot_iso [0.045572s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume [0.060328s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_rescuing [0.063002s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_ramdisk [0.040529s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume_bios [0.042498s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_ramdisk [0.054953s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.074626s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.064124s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.067933s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.071024s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.066255s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_glance [0.051123s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_webserver [0.049601s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_webserver_exc [0.053242s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue [0.047368s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance [0.043282s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.060977s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance [0.044446s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_bios [0.044308s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_boot_from_volume [0.054397s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.048493s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.051675s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_floppy_image_name [0.013237s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image [0.052272s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image_use_webserver [0.044959s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia_fails [0.014833s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot [0.050682s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc [0.049924s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc_resource_not_found [0.050039s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift [0.024420s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server [0.015087s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_destroy_floppy_image_from_web_server [0.040532s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices_raises [0.040942s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_snmp [0.015882s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode [0.042917s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_bios [0.040254s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_not_supported [0.040517s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state [0.041413s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_not_supported [0.044675s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift [0.022448s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_operror_exc [0.029292s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_web_server [0.020750s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_list [0.014052s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_without_set_pending_boot_mode [0.013975s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode [0.040028s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.043229s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_not_supported [0.040621s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_parameters [0.042234s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_swift [0.048728s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode [0.052692s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_legacy [0.048496s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_prop_boot_mode_exist [0.039635s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown [0.052434s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown_except [0.041598s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_ipmi_properties [0.039524s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_secure_boot_mode_passed_false [0.041837s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum [0.015629s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_failed_validation [0.018273s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_nonexistent_file [0.013287s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_multiple_params [0.013416s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_port [0.013198s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.012448s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_address [0.012727s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.012936s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_password [0.012952s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_username [0.012678s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_false [0.013293s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_integer_auth_protocol [0.012465s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_auth_protocol [0.013025s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate [0.041264s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_downloads_the_fw_file [0.017598s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_gets_invoked_for_http_based_firmware [0.010241s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_calls__download_http_based_fw_to [0.018114s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_creates_temp_url [0.025573s] ... ok {1} 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.022353s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_swift [0.025331s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_webserver [0.023092s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_file_based_me [0.019279s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_webserver_based_me [0.020960s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components_fails [0.007384s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_img_loc_sets_these_attributes [0.005969s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_throws_exception_with_invalid_firmware_url [0.006414s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_invalid_component [0.006185s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum [0.006220s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__download_fw_to [0.062799s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__extract_fw_from_file [0.062074s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_verifies_checksum_of_downloaded_fw_file [0.061826s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_power_off [0.053502s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen10 [0.053788s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen8 [0.052546s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_validate [0.039858s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict [0.012939s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_capabilities_ok [0.013835s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail [0.013024s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_invalid_format [0.013416s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_mac_invalid_format [0.012981s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_empty [0.015704s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_ilo_error [0.046761s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_erase_pattern_zero [0.056062s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_erase_pattern [0.039878s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_format_erase_pattern [0.037660s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd_when_hdd_done [0.063779s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_when_no_drive_available [0.181472s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_environment_error [0.051272s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_next_boot [0.043657s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent [0.045947s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent_fail [0.044895s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_sensor_data [0.044322s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi [0.043796s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo [0.048366s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_no_password [0.052622s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_secure_boot_keys_to_default [0.044103s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_fail [0.046804s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_ok [0.043625s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_fail [0.043250s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_failed [0.054653s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_in_bios [0.059098s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_missed_properties [0.053865s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_clean [0.063277s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_clean [0.055960s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_deploy [0.056027s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_clean [0.053342s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_deploy [0.050965s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_deploy [0.050392s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_with_component [0.044812s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_without_component [0.048562s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed [0.039622s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state [0.018661s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_fail [0.018419s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_invalid_state [0.037354s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state [39.874109s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_fail [0.046339s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_validate [0.031297s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail [2.041287s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok [1.043890s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_fail [0.039370s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_fail [0.039242s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_handle_ibmc_exception_retry [4.045313s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_address [0.014389s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.012863s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.013212s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_missing_info [0.012530s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_path_verify_ca [0.013891s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_capath [0.013785s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.012675s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_revert_dictionary [0.012615s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_boot_type_order [0.037642s] ... ok {0} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_validate [0.031307s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_deploying [0.058578s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_deploying [0.055534s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_apply_configuration [0.051463s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_factory_reset [0.049244s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_deploy [0.054952s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_timeout [3.045235s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_supported_power_states [0.069780s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_cleaning [0.099747s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_with_timeout [0.076360s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_deploying [0.102087s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_no_timeout [0.070867s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_timeout [0.068684s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_deploying [0.106106s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate [0.057305s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_cleaning [0.069188s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_deploying [0.069135s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_cleaning [0.115374s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_deploying [0.073503s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_cleaning [0.098054s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_cleaning [0.099640s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_deploying [0.111505s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_deploying [0.173918s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_cleaning [0.110174s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_deploying [0.123618s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_deploying [0.123876s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_invalid_parameter [0.055665s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_cleaning [0.101904s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_validate [0.055953s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info [0.021459s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_exc [0.020770s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_no_boot_iso [0.023044s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_cleaning [0.088334s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__clean_up_boot_iso_for_instance_on_webserver [0.036762s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_exception [0.075176s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_deploying [0.129332s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create_use_webserver_true_ramdisk_webserver [0.097562s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_deploying [0.083606s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_http_url [0.082319s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_cleaning [0.082802s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_uefi_no_glance_image [0.078725s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_deploying [0.086679s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_unsupported_url [0.085808s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_maintenance [0.069796s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__parse_deploy_info [0.026610s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_manage [0.069599s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_InvalidParam [0.073846s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_missing_boot_iso_href [0.067370s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info_valid_url [0.077801s] ... ok {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_default_interfaces [0.066502s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_glance_partition_image [0.073517s] ... ok {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_agent_rescue [0.068919s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy [0.073288s] ... ok {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_cinder_storage [0.065160s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on [0.090151s] ... ok {1} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect [0.067497s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration_failed [0.069015s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on_inst_info [0.077368s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings [0.075567s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance [0.075668s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_fail [0.069427s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.103890s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_ok [0.071288s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance [0.082027s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_fail [0.069217s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_bios [0.076461s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__cleanup_vmedia_boot_ok [0.078411s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_fail [0.068789s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_boot_from_volume [0.096164s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_ok [0.069134s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.085445s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_ok [0.070222s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_floppy_image_name [0.022505s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.086111s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option [0.024542s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option_non_existed_root [0.028221s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_in_share [0.023117s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_with_boot_iso [0.093127s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_invalid [0.069404s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_http_ok [0.023289s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.093219s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_invalid [0.071385s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_uuid_ok [0.022198s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_without_boot_iso_ok [0.021384s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_deleting [0.106790s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_file [0.101889s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume [0.111088s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image_exception [0.074836s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.093990s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_with_parameters [0.080256s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.094100s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_deploy [0.074855s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed [0.058046s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.103094s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_on_rebuild [0.059107s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_parse_deploy_info_ok [0.082310s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image [0.127882s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_instance [0.074039s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk [0.087285s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk_rescue [0.091238s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_get_properties [0.060007s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_in_takeover [0.312014s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate [0.085316s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot_active [0.117760s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_boot_from_volume [0.074758s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_active [0.108856s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.067849s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.072999s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_iscsi [0.098994s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.084851s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia [0.024542s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.123568s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_for_webserver [0.073473s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift_throws_error_if_swift_operation_fails [0.036015s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_cleaning [0.111229s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server_fails [0.026406s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices [0.069344s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile [0.026130s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_always [0.131501s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_no_cafile [0.026917s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_fail [0.071543s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_bool_false [0.126862s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_fail [0.068632s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_notfound_exc [0.050094s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_str [0.023416s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode [0.023113s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_bool_true [0.127776s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_with_IloOperationError [0.024072s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia [0.072766s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_default [0.128675s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_url [0.068949s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_capabilities_exist [0.068752s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_instance_info_exists [0.067577s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_use_def_boot_mode [0.083026s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_secure_boot_mode_passed_true [0.074419s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_ca_file_and_snmp_inspection_true [0.023240s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_cafile [0.022658s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_true_raises [0.022073s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_priv_protocol [0.021037s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_no_auth_priv_protocols [0.022736s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate_exc [0.069641s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_copies_file_to_target [0.026892s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_gets_invoked_for_file_based_firmware [0.012031s] ... 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.011659s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_sloppy_false [0.574291s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_calls_process_firmware_image [0.041631s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_doesnt_upload_firmware [0.035945s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_swift [0.039658s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_true [0.130092s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.122308s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_webserver [0.236322s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_swift_based_me [0.029745s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components [0.010296s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_sets_parsed_url_attrib_of_fw_processor [0.009379s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info [0.009148s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_empty_parameter [0.009683s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_missing_parameter [0.009277s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_invalid_component [0.009562s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_with_component [0.009551s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_throws_error_if_checksum_validation_fails [0.112961s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_invalid_update_mode [0.012822s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_without_copy [0.330299s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_no_firmware_url [0.011750s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_image_doesnt_exists [0.059382s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_get_properties [0.070240s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_invalid_trusted_boot_value [0.057586s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_exist_ok [0.090916s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_image_source [0.061493s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_port [0.062325s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_ok [0.093042s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.058899s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok [0.091146s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good [0.059874s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good_whole_disk_image [0.059352s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_local_gb_zero [0.106058s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_excluded_capability [0.022316s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection [0.076980s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_not_dict [0.024021s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_ok [0.023570s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_essential_keys_fail_missing_key [0.021236s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_ok [0.020701s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection_no_inspection_ramdisk [0.091720s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_skip_check_write_image_false [0.061210s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_completed [0.096901s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_secure_boot_false [0.085411s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd [0.100259s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_with_secure_boot [0.084520s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_device_type_erase_pattern [0.065277s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_with_secure_boot [0.088063s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd [0.098353s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_clean [0.043461s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_with_backup_bios [0.086283s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_deploy [0.048262s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_not_supported [0.043728s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_without_backup_bios [0.086581s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_ok [0.031225s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test__configure_vmedia_boot [0.078142s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_swift_error [0.088752s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot_false [0.100863s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_unknown_exception [0.093116s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.086826s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_with_logs [0.074901s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__update_firmware_sum_final_without_logs [0.073295s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot [0.092003s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license [0.075635s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot_false [0.087749s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license_no_or_invalid_format_license_key [0.076176s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_without_secure_boot [0.088720s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target [0.080507s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.104415s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_failed [0.075666s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_in_bios [0.074762s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_secure_boot_keys [0.075185s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_fail [0.080313s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.316445s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_properties [0.073875s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_remote_image_share_type_values [0.024564s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_devices [0.074484s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_glance_image [0.088541s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_failed [0.076315s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_non_glance_image [0.085827s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_not_supported [0.079658s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_whole_disk_image [0.088656s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_bios_to_default [0.075449s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__cleanup_boot_from_volume [0.076885s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_ok [0.103863s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi [0.132195s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_pass_as_arg_ok [0.093911s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance_error [0.082060s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_invalid_device [0.073400s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_true [0.075369s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_instance [0.132765s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_with_auth [0.095608s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_ramdisk_skip [0.112295s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_without_auth [0.099236s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_invalid_netmask [0.133326s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_deploy [0.106992s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_ip [0.113698s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_clean [0.105360s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_deploy [0.102229s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_netmask [0.121623s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_clean [0.095791s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_physical_id [0.117072s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_deploy [0.091859s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_large_netmask [0.133741s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_clean [0.088257s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_clean [0.088003s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_no_physical_id_in_lan_port [0.117322s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_true [0.010931s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_auth_method [0.021991s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_port [0.023044s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_sensor_method [0.021755s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_deploy [0.095985s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.070953s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_invalid_component [0.074769s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_empty_snmp_security [0.023369s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_sensor_method [0.022061s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_security [0.025973s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_swift_url [0.079850s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.022539s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_exception [0.058405s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_validate [0.075954s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_fpga_ids_input [0.024634s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_gpu_ids_input [0.021427s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed_on_rebuild [0.069339s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware [0.158066s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_mac_already_exist [0.111943s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_id_sand_existing_cap [0.035963s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_and_cpu_fpgas_results_are_different [0.038644s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false [0.036394s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false_and_existing_cap [0.036730s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate_fail [0.032883s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_skipped [0.042466s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_get_properties [0.035884s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng [0.043305s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_ok [0.041852s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_bios [0.167405s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_disk [0.168547s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate [0.033025s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_fail [0.032147s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_completing_status [0.029987s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_other_clean_state [0.029369s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [1.066788s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_clean_fail [0.055932s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_complete_cleaning [0.042379s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_without_raid_config [0.032707s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_raid_config [0.018966s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_raid_object [0.019491s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__is_expected_power_state [0.012811s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_invalid_target_state [0.032434s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_off_ok [0.033494s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_on_ok [0.035726s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.033560s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_scci_exception [0.033291s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [0.033209s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [0.036677s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [2.071656s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_off [0.040387s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_power_off [2.058817s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_reboot [2.057920s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_on [4.049976s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_timeout [2.061469s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_properties [0.031029s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on [0.039431s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot [0.039037s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state [0.040469s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state_timeout [0.038266s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate [0.031182s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_outside_list [0.031466s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_without_raid_level [0.031506s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_0 [0.012890s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_with_physical_disk [0.012104s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_difference_physical_disks_type [0.034279s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_duplicated_physical_disks [0.033039s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_not_enough_valid_disks [0.032358s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_incorrect_valid_disks [0.032892s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_slots_2 [0.035741s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_without_physical_disks [0.032595s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_5_and_0 [0.031850s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration [0.039049s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration_return_cleared_raid_config [0.042807s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_fail_create_raid_without_target_raid_config [0.031251s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_physnet [0.063312s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_physnets [0.063791s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet2 [0.066400s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet3 [0.064040s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_nothing_free [0.043143s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_first [0.044507s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_physnet_match_first [0.049994s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first2 [0.047748s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_pxe_enabled_first [0.045362s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_smartnic_port [0.046088s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address [0.043993s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_VIF_MAC_update_fail [0.040330s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_no_vif_id [0.042601s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_fail [0.041570s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_noportgroup [0.111397s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_nostandalone_ports [0.111916s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [2.045629s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_standalone_ports [0.141358s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_noportgroup [0.248461s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_nostandalone_ports [0.110767s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_standalone_ports [0.109707s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_nostandalone_ports [0.110177s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_no_vif [0.044866s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_nopxe_ports [0.043432s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_remove_address [0.042351s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_noports [0.041477s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_nopxe_ports [0.043891s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_pxe_ports [0.045744s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_nopxe_ports [0.043682s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_pxe_ports [0.043557s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok_initial_power_off [1.073366s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node_failure [0.064980s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_failure [0.062329s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_no_address [0.044171s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_physnet_inconsistent [0.045916s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_update_port_exception [0.047872s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach [0.041683s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node [0.049824s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node_failure [0.052631s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_not_attached [0.042028s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_portgroup [0.044823s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_port [0.019386s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_portgroup [0.021922s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_port [0.021400s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_provisioning [0.044212s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_rescuing [0.041840s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra [0.046690s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_internal [0.047008s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id [0.043505s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_portgroup [0.048661s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_raise [0.044685s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports [0.043032s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network_from_node [0.083278s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network [0.045970s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_rescuing_network [0.040811s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_init_no_cleaning_network [0.015203s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_rescuing_network [0.043642s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_from_node [0.049264s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection_exc [0.040114s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_attach [0.040818s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_list [0.041048s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_from_node [0.081771s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network [0.043531s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_with_sg [0.042630s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network [0.048306s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_from_node [0.083048s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network [0.047282s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_from_node [0.052292s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_multiple_ports_one_vif_id [0.040213s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_update_fail [0.040411s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_vif_extra [0.053819s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_vif_int_info [0.049749s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_client_id [0.058509s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_false [0.038844s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network_from_node [0.052925s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network [0.045046s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_rescuing_network [0.049993s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate [0.039357s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_local [0.047888s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection [0.045620s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection_exc [0.041934s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_attach [0.043639s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_list [0.038051s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_port_changed [0.038113s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_provisioning_network [0.039019s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_configure_tenant_networks [0.042536s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_current_vif [0.040837s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_port_changed [0.039500s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_cleaning_network [0.039242s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_inspection_network [0.039217s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_provisioning_network [0.041520s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_unconfigure_tenant_networks [0.038620s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_attach [0.038926s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_detach [0.040006s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_list [0.038897s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying [0.063308s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_deploying [0.071777s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_fail [0.039373s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_timeout [3.080692s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_no_bios [0.093930s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_power_state [0.060537s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_properties [0.054270s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_noop [0.133578s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_no_timeout [0.072970s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate_fail [0.060688s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_cleaning [0.107019s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_cleaning [0.111552s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_cleaning [0.121930s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_deploying [0.109314s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_deploying [0.127847s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_loading_error [0.022655s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_deploying [0.114987s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_post_configuration [0.093313s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning [0.111315s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__cleanup_floppy_image [0.057563s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__eject_vmedia_everything [0.060398s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning_deploying [0.116631s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__eject_vmedia_not_inserted [0.059748s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__eject_vmedia_specific [0.063291s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_cleaning [0.101036s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew [0.059790s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__prepare_boot_iso [0.056484s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_deploying [0.102145s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__prepare_deploy_iso [0.055312s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__prepare_floppy_image [0.054600s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_deploying [0.096731s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__prepare_iso_image_bios [0.058499s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_deploying [0.084100s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__prepare_iso_image_uefi [0.056331s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__publish_image_local_copy [0.089995s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_cleaning [0.130146s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__publish_image_swift [0.069426s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_deploying [0.125382s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__unpublish_image_swift [0.073147s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_ramdisk [0.058674s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info [0.052863s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_cleaning [0.130353s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_deploy [0.051429s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_cleaning [0.082470s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_rescue [0.052445s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_deploy [0.053886s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_cleaning [0.117576s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_rescue [0.056942s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_boot_option [0.099858s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_deploying [0.111239s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_cleaning [0.107972s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot [0.150156s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_deploying [0.113535s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_floppy [0.094574s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_bios_boot [0.061989s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_cleaning [0.113033s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection [0.055847s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection_missing [0.054056s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_deploying [0.113892s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_missing [0.055364s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_properties [0.052925s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_invalid_state [0.071627s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_cpu [0.062825s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_boot_into_iso [0.072235s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_boot_mode [0.076121s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_boot_into_iso [0.069419s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_local_gb [0.079116s] ... ok {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_shellinabox [0.067425s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ok [0.075241s] ... ok {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_empty [0.071336s] ... ok {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_error [0.067678s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_preserve_boot_mode [0.078435s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_data_drive [0.055341s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_power [0.055125s] ... ok {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_invalid_input [0.135732s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_devices [0.052916s] ... ok {0} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_more_socket [0.076027s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration [0.083429s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings_failed [0.064826s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_factory_reset [0.067876s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi_fail [0.312877s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_loading_error [0.022387s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_validate [0.074539s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_ok [0.070135s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail [0.111229s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_fail [0.072820s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_iso_name [0.023121s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_not_in_share [0.024547s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_fail [0.110806s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_missing [0.023566s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_name_ok [0.022211s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_validate [0.054617s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_url_ok [0.022544s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_glance_ok [0.025865s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_https_ok [0.023269s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_power_state [0.058348s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_supported_power_states [0.052907s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_create_ok [0.103124s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_fetch_ok [0.072548s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image [0.044318s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__remove_share_file [0.015050s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_without_parameters [0.041852s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_rescue [0.045315s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_exception [0.014513s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_ok [0.015251s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_deploy [0.042901s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_rescue [0.044622s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot [0.060565s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot [0.050525s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_missing_root_uuid [0.047938s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.067200s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.049557s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk [0.071082s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.202858s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.065603s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_false [0.072974s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_never [0.072107s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_sloppy_true [0.278403s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_swift [0.073639s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.076203s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.074861s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue [0.063719s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.074353s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.064709s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.092265s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.093086s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.092429s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_uefi [0.072135s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_conn_problem [0.061307s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_kernel [0.034429s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_ramdisk [0.035067s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.036008s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_without_secure_boot [0.050813s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_with_secure_boot_false [0.048563s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_without_secure_boot [0.048559s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance [0.051781s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot [0.057399s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_without_secure_boot [0.056037s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_ramdisk [0.042902s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.049374s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.057173s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_deploying [0.059966s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_rescuing [0.057953s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue [0.050996s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.039528s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_ramdisk_not_exist [0.048616s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_apply_error [0.070636s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_fc [0.067337s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_chap [0.076163s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_no_portal_port [0.073939s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_multi_lan_ports [0.086305s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance [0.044294s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_invalid_physical_id_in_lan_port [0.076272s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi [0.073868s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_iqn [0.072408s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_small_netmask [0.077219s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_false [0.006432s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client [0.013269s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report [0.013887s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_disable [0.022266s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_enable [0.017836s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_update_ipmi_properties [0.066229s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info [0.013330s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_auth_method [0.015469s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_port [0.017602s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_community [0.024748s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_port [0.015406s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version [0.012861s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_address [0.012176s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.012455s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_password [0.012236s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_username [0.012664s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_option_default [0.012421s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__get_mac_addresses [0.040303s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware [0.035015s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_get_properties [0.033609s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_existing_cap_in_props [0.033903s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_inspect_exception [0.096737s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_ids [0.035747s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_cpu_fpgas_zero_and_existing_cap [0.034318s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_pci_gpu_devices_return_zero [0.034065s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_with_power_off [0.118035s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate [0.034853s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config [0.050065s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_corrupted [0.050532s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_failed [0.043362s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config [0.049763s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_failed [0.041655s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception [0.039234s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ok [0.038892s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok [0.181501s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices [0.039859s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_fail [0.041696s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_restore_irmc_bios_config [0.041987s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ng [0.047167s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot [5.320795s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom [0.199234s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe [0.168834s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_safe [0.167580s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_with_fgi_status_none [0.040269s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_fgi_status [0.019093s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_input [0.026572s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_node [0.017505s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_snmp_exception [0.036083s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state [0.046482s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on_timeout [0.041109s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot_timeout [0.039556s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail [0.034726s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_none_raid_adapter_profile [0.031573s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_is_none [0.032197s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__commit_raid_config_with_logical_drives [0.032111s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_1 [0.012966s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_10 [0.012239s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_5 [0.012523s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_50 [0.012372s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_6 [0.012605s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_insufficient [0.034359s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_not_enough_disks [0.031460s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_disks_1 [0.031720s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_1_and_0 [0.031802s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_all_physnets [0.065720s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_flat [0.048414s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron [0.040625s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron_missed [0.040279s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_port_physnets [0.065337s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet1 [0.063503s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_empty_portgroup [0.042993s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_standalone_portgroup [0.048323s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_no_matching_physnets [0.046613s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports [0.040170s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first [0.045112s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port [0.043818s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port_extra [0.045461s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup [0.043521s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup_extra [0.044011s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_client [0.045261s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_client [0.046757s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_tenant_vif [0.042450s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id [0.041004s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_no_vif_id [0.043890s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_add_new_key [0.047466s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_message_format_failure [0.043247s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_noportgroup [0.107045s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_nostandalone_ports [0.111486s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_standalone_ports [0.111795s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_noportgroup [0.109971s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_standalone_ports [0.111723s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address [0.043434s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_fail [0.044955s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_nopxe_ports [0.044104s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_pxe_ports [0.044357s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_pxe_ports_exc [0.044740s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_pxe_ports [0.046764s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach [0.044057s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node [0.052525s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_multiple_segment_mappings [0.048519s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_with_physnet [0.046166s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_deleting_node [0.049025s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_portgroup [0.021662s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_port [0.020789s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_extra [0.047700s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_internal_info [0.048120s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_not_attached [0.042124s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_extra [0.014421s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_internal_info [0.016756s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_not_attached [0.016768s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_portgroup [0.021970s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_extra_vif_port_id [0.044158s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_cleaning [0.041523s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_tenant_vif [0.041391s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_none [0.041685s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra_and_internal_priority [0.042557s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports_portgroup [0.053468s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network [0.044661s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network_from_node [0.082812s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network [0.040587s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network [0.044436s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network_from_node [0.053265s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_provisioning_network [0.043805s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate [0.042580s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection [0.048639s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_detach [0.040450s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_port_changed [0.044437s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network [0.044108s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_with_sg [0.043028s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_from_node [0.081359s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_with_sg [0.043391s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_with_sg [0.043832s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_instance_uuid [0.041110s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_ports_for_node [0.044313s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_vif_id [0.041627s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups [0.046778s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_init_incorrect_provisioning_net [0.015271s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_true [0.044455s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network [0.045536s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network_from_node [0.052955s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks [0.039043s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_smartnic [0.045594s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_netboot [0.049793s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_netboot_no_exc [0.049913s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue [0.048206s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue_exc [0.042410s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_detach [0.041392s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_cleaning_network [0.042274s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_inspection_network [0.041073s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_properties [0.015565s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_portgroup_changed [0.042718s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_validate [0.042936s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning [0.063323s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_cleaning [0.073862s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_not_supported [0.040755s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings [0.077849s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_check_bios_attrs [0.056673s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_fail [0.045162s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_not_supported [0.041678s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_deploying [0.063139s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_get_properties [0.032213s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_validate [0.036354s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__append_filename_param_with_filename [0.031883s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__append_filename_param_with_qs [0.032192s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__append_filename_param_without_qs [0.032309s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__cleanup_iso_image [0.033557s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__eject_vmedia_unknown [0.037586s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_already_inserted [0.035367s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_bad_device [0.035025s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__publish_image_local_link [0.052892s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__unpublish_image_local [0.042062s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_cdrom_and_floppy [0.041213s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_only_cdrom [0.033899s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_loading_error [0.014302s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info_exc [0.032163s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_exc [0.031760s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_deploy [0.034986s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_rescue [0.032248s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_whole_disk_image [0.057454s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_normal_boot [0.085196s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_debug [0.055495s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_params [0.195195s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_uefi_boot [0.035298s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_memory_mb [0.037813s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu [0.045867s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_memory_mb [0.047356s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_nics [0.045161s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_validate [0.032481s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_fan [0.034783s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_temperatures [0.031986s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_device [0.032381s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_mode [0.033344s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_properties [0.031892s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_sensors_data [0.038780s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_modes [0.031533s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi [0.040282s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device [0.040234s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency [0.042164s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode [0.040466s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_properties [0.031587s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_loading_error [0.014483s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail [0.063601s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_not_reached [29.846184s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_fail [0.067190s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state [23.467056s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_validate [0.032975s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_disabled_sessions_cache [0.037724s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_ensure_basic_session_caching [0.041308s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_ensure_new_session_address [0.038078s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_ensure_new_session_username [0.038034s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_ensure_session_reuse [0.039615s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_expire_old_sessions [0.042015s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_not_found [0.038499s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info [0.014683s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme [0.013560s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.013718s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_address [0.013847s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.014094s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_system_id [0.015826s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_info [0.012977s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_auth_type [0.013423s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__fail_validation [0.046316s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi_and_unknown [0.050656s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_multiple_fc_wwns [0.049101s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_single_path [0.040509s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_unknown_raises_excption [0.049320s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_called_with_target_and_connector [0.056580s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_no_volumes [0.043270s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure [0.054305s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure_no_attach_error [0.054505s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fail_on_unknown_volume_types [0.060624s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_iscsi_boot_no_connectors [0.055556s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_connectors [0.050358s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_targets [0.063071s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_targets [0.058819s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_no_settings [0.047364s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.053722s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final [0.039261s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result [0.040115s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final [0.056446s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final_registered [0.052767s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration [0.039949s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_no_target_raid_config_after_skipping [0.040059s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_nonroot [0.043699s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_root [0.040792s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_delete_configuration [0.040176s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps [0.040373s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue [0.054236s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up [0.046825s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_no_manage_boot [0.046411s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_no_manage_agent_boot [0.053210s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_empty_rescue_password [0.047399s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue [0.057449s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_no_manage_agent_boot [0.060186s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_power_on [0.058649s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy [0.068760s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_partition_image [0.067132s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_with_no_proxy_without_proxies [0.069858s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy [0.052025s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_fast_track [0.084094s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_is_done [0.041499s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_multiple_commands [0.042548s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_still_running [0.041635s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false_with_smartnic_port [0.088144s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_with_deployment_reboot [0.059700s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps [0.044487s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare [0.083400s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_boot_from_volume [0.071946s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning [0.042584s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_manage_agent_boot_false [0.081911s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net [0.083014s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_capabilities_as_string [0.095909s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_no_manage_agent_boot [0.077018s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_partition_image [0.085225s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down [0.225675s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_with_smartnic_port [0.086016s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate [0.046831s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_driver_info_manage_agent_boot_false [0.057223s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints [0.038160s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum [0.050760s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_storage_should_write_image_false [0.040087s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail_by_agent_consumed_memory [0.040484s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled [0.040139s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_without_memory_mb [0.039650s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_not_glance [0.013445s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_not_http [0.013359s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__get_post_clean_step_hook [0.026187s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__get_post_clean_step_hook_no_hook_registered [0.024306s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot [0.039407s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_boot_loader_install_fail [0.104527s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_never [0.039723s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_on_software_raid [0.040718s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_uefi [0.043273s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_clean_version_mismatch_fail [0.050914s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_fail [0.040827s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_old_command [0.050682s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_reboot [0.058721s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_unknown [0.040625s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_configure_fails [0.051467s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot [0.049506s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_configure_tenant_network_exception [0.085747s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_deprecated [0.053289s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_get_power_state_fails [0.056590s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_with_smartnic_port [0.045310s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue_exc [0.047291s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue_missing_command_result [0.049652s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_continue_cleaning_polling [0.056472s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_continue_deploy [0.057306s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_deploy_done_fails [0.053568s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_in_maintenance_abort [0.234470s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state [0.229675s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_not_in_core_deploy_step_polling [0.063675s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_reboot_to_instance [0.057545s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_records_cleaning_deploying [0.091210s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_records_fast_track [0.121960s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_rescue_fails [0.055433s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_with_reservation [0.093121s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_in_core_deploy_step_in_other_step [0.045699s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_in_core_deploy_step_no_steps_list [0.038247s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps [0.049004s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps_missing_interface [0.044673s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code [0.007435s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect [0.007505s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_json [0.007061s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_content_type_header [0.006171s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue [0.006906s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_exc [0.006719s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_clean_steps [0.006620s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status [0.013747s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image [0.007022s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image_with_configdrive [0.006863s] ... ok {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios [0.006585s] ... ok {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default [0.006965s] ... ok {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_uefi [0.006975s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists_fail [0.011015s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid [0.011833s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir [0.008798s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file_not_found [0.008466s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_not_a_num [0.010031s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_nopid [0.011818s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_https_url [0.009248s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_url [0.008705s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp6 [0.009014s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file [0.008503s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file_fail [0.010447s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_no_pid [0.022364s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_nopiddir [0.017978s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_default_ipv4 [0.020488s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_ipv4 [0.019596s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_default_timeout [0.020141s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout [0.019288s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail_nopiddir [0.021153s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console [0.009959s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console [0.009569s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console_fail_nopid [0.010677s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_add_clean_params [0.050264s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_get_clean_steps [0.041585s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_conf [0.016164s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_stream [0.015408s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_true [0.014696s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step [0.044115s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step_running [0.042334s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_custom_interface [0.041811s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_override_priorities [0.041133s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_manage_boot_false [0.056525s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_cleaning [0.021717s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_deploying [0.020789s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_all [0.028397s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_one [0.028780s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_bios_without_by_arch [0.008763s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_in_by_arch [0.008661s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property [0.008331s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property [0.011687s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_per_node [0.012754s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_uefi_without_by_arch [0.008874s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_cleaning_vif_port_id [0.039814s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_vif_port_id_extra [0.040784s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ISCSISetupAndHandleErrorsTestCase.test_no_parent_device [0.007309s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_with_master_path [0.008959s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged_fails [0.012983s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_configdrive [0.013297s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_good [0.012997s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_preserve_ephemeral [0.013023s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_instance_source [0.012326s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image [0.012709s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_false [0.039220s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image [0.012979s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_fail [0.016891s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option [0.012994s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_overridden_default_value [0.012588s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_fail [0.014390s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_config [0.014409s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_keystone [0.014730s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_none [0.014713s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state [0.168858s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_overide [0.057185s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_instance_info [0.006780s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label [0.006004s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_false [0.006006s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_invalid [0.006659s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_invalid [0.005929s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_true [0.005941s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities [0.006228s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities_string [0.005987s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability [0.006002s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info [0.006210s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_check_file_system_for_iscsi_device [0.006824s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_check_file_system_for_iscsi_device_raises [0.007437s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_disk_label [0.014728s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot_uefi [0.012724s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_with_configdrive [0.012855s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_with_ephemeral [0.012823s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_without_swap [0.015157s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_wo_boot_option_and_wo_boot_mode [0.012997s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_whole_disk_image_sparse [0.016531s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_whole_disk_image_with_config_drive [0.016299s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_raises [0.021044s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_raises_during_cleanup [0.019106s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_verify_iscsi_connection_override_attempts [0.007604s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_partition_image [0.006518s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_iscsi_boot [0.006277s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_partition_image [0.006243s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_whole_disk_image [0.006229s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_pxe_config_partition_image [0.006538s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_pxe_config_partition_image [0.006048s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_partition_image [0.006036s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_whole_disk_image [0.006295s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image [0.061616s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image [0.061784s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonsupported_image [0.047270s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw [0.066806s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_check_interface_capability [0.013702s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume [0.050559s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot [0.050450s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_exception [0.041396s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_tear_down_storage_configuration [0.080789s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_bios [0.040546s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_okay [0.041743s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_prop [0.014473s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_invalid_image_href [0.008879s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image_validation_fail [0.013782s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good [0.012430s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image [0.013472s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_missing_image_source [0.012564s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_kernel [0.013123s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_ramdisk [0.013314s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_whole_disk_image [0.012662s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_one_clean_up [0.016633s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch [0.009627s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_dir_exception [0.007998s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_images_not_cleaned [0.010416s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate_no_force_raw [0.010736s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_master_out_of_date [0.010569s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_dest [0.007425s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_out_of_date [0.007571s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_same_time [0.008914s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_out_of_date [0.009015s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist [0.240901s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_exception_ignored [0.016149s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_finished [0.016019s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspecting [0.015511s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspector [0.015013s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error [0.016312s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error_managed_no_power_off [0.027789s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_network_clean_up_failed [0.041538s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed [0.045075s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed_no_power_off [0.025342s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint [0.014615s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_mdns [0.013849s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_standalone [0.598607s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_ok [0.015890s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_require_managed_boot [0.015463s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_unmanaged_error [0.027956s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_ok [0.014850s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_require_managed_boot [0.014931s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls [0.008101s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_already_checked [0.007753s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls_already_checked [0.007714s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls [0.007841s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_1 [0.007935s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_2 [0.007932s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls_already_checked [0.007869s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_fail [0.010478s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_pass [0.007797s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_no_ipmitool [0.007567s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_pass [0.007567s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_fail [0.007586s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_pass [0.007660s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_cold [0.041237s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_fail [0.040977s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_debug [0.013721s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.013034s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_fail [0.042503s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_ok [0.040908s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state [0.042011s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_properties [0.041071s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_force_set_boot_device_ok [0.058070s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device [0.041441s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_fail [0.041238s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_bad_device [0.040843s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_ok [0.044250s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_persistent [0.049269s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.041178s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.041731s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_power_validate [0.044276s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_already_off [0.043527s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_off [0.042585s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_fail [0.041568s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_ok [0.044465s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns [0.041181s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_invalid_state [0.039949s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_timeout_ok [0.041568s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_fail [0.042607s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_ok [0.044586s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot [0.042626s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot_timeout [0.042848s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_not_reached [12.571777s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.153103s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_auth_auto [0.070556s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_auth_basic [0.071173s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_auth_session [0.068199s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.209768s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system [0.068876s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.068457s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_connection_error_retry [0.073319s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_auth_type [0.023295s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.023464s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test___set_and_wait_no_needless_status_polling [0.078421s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_path_verify_ca [0.026363s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.027873s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_capath [0.025509s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.028303s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.026776s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.028711s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.028911s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_dual_bridging [0.028919s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi [0.077529s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_password [0.028534s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_port [0.028489s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_single_bridging [0.033058s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_raises_with_insufficent_data [0.092003s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_timing [0.027906s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_username [0.028547s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_caller_exception [0.025460s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_fails_without_connectors [0.078475s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_write_exception [0.029166s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info [0.027823s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key_odd_chars [0.025604s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure [0.095358s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_port_valid [0.024940s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_prot_version_1_5 [0.029295s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_numeric_password [0.025623s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure_raises_exception [0.086719s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_undefined_credentials [0.026794s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_pass [0.028951s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_no_bridging [0.026968s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_should_write_image [0.120966s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_fc_conn_iscsi_target [0.062843s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_iscsi_conn_fc_target [0.063677s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_when_fc_connectors_unequal [0.049355s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.058996s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_fc_boot_no_connectors [0.058440s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_connectors_and_boot [0.069478s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_connector [0.049297s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_should_write_image [0.070236s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered [0.042018s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_empty_target_raid_config [0.050692s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_smartnic [0.048536s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_power_on [0.052973s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate [0.040023s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_password [0.049519s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_no_manage_agent [0.039126s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_with_smartnic_port [0.052919s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_with_smartnic_port [0.062127s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up [0.042408s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off [1.075926s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up_manage_agent_boot_false [0.051643s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_bmc_initialization_in_progress [0.033126s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_timeout [0.035576s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_insufficient_resources_for_session [0.030433s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_image_source_is_url [0.118855s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_node_busy [0.032704s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_out_of_space [0.030101s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_bmc_initialization_in_progress [0.031072s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_insufficient_resources_for_session [0.031332s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_continue_deploy_with_proxies [0.120634s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_timeout [0.032461s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started [0.075306s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd [0.072804s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_did_start [0.071754s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail [0.070761s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_has_started_other_commands [0.071991s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail_nodir [0.071838s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate [0.053934s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done [0.072482s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_invalid_port [0.057185s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_empty_response [0.075385s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port [0.060706s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_is_done_race [0.072238s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console [0.071170s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console_fail [0.069674s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false [0.152347s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd_without_user [0.068930s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps_config_priority [0.073237s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console [0.073374s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_properties [0.025804s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail_nodir [0.076237s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_invalid_port [0.055283s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_active_and_unrescue_states [0.125089s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.055922s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_adopting [0.075468s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_console [0.069775s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_manage_agent_boot_false [0.073294s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console [0.071135s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_fast_track [0.115216s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console_fail [0.075923s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot [0.102241s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_rescue_states [0.175627s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot_active [0.117961s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_storage_write_false [0.134181s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_no_capabilities [0.153358s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_active [0.331046s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_no_capabilities_overwrite [0.165080s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi [0.098913s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_reraise [0.101960s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.085210s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk [0.130437s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_smartnic_port [0.153980s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.121736s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance [0.133864s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_bool_false [0.133746s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_boot_error [0.180273s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_bool_true [0.131966s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_localboot [0.144718s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_default [0.134695s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_reboot_to_instance_partition_localboot_ppc64 [0.148652s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_false [0.133892s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning [0.072217s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning_manage_agent_boot_false [0.071383s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_never [0.132955s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_instance_info_missing_params [0.089039s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_rescue [0.118505s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_proxies [0.066998s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size [0.067916s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.136484s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail [0.073487s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_disabled [0.068797s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args [0.022138s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.167205s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__cleaning_reboot [0.084705s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test__cleaning_reboot_fail [0.071113s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.169338s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_always [0.072858s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_default [0.067375s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid [0.068229s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.171612s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_on_non_software_raid [0.070130s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_uefi [0.135773s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_glance_conn_problem [0.092823s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.060741s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.058137s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.064319s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_set_boot_device_fail [0.396405s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_clean_up [0.073302s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image [0.070533s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_configure_local_boot_with_prep [0.066580s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_localboot [0.117640s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning [0.082818s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_netboot [0.106057s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_after_reboot [0.099229s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_storage_check_write_image_false [0.090721s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_execute_clean_step [0.067504s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_automated_clean_version_mismatch [0.086786s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_get_properties [0.057018s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_manual_clean_version_mismatch [0.099334s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_cleaning [0.069123s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_running [0.072133s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_fast_track [0.090055s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_with_hook [0.086835s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_adopting [0.069533s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_continue_cleaning_with_hook_fails [0.087024s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_post_clean_step_hook [0.024199s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying [0.110508s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot_prep_partition [0.089767s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying_with_smartnic_port [0.109996s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_prepare_instance_to_boot_netboot [0.084972s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down_cleaning [0.071111s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy [0.075634s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down_with_smartnic_port [0.125876s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_action_oob_power_off [0.094304s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_validate [0.057969s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_action_oob_power_off_failed [0.087155s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_validate_storage_should_write_image_false [0.062284s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_fails [0.067392s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_off_fails [0.142999s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_whole_disk_image [0.115279s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_destroy_images [0.040184s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_power_on_fails [0.148648s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_soft_poweroff_doesnt_complete [0.092627s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_start_iscsi_failure [0.192114s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_boot_option_default [0.022994s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_disk_label [0.022938s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentDeployMixinTest.test_reboot_and_finish_deploy_soft_poweroff_fails [0.094188s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_not_specified [0.022497s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_whole_disk_image [0.020850s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_whole_disk_image_no_root [0.024384s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue [0.088461s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_fail_no_api_url [0.053204s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__get_image_file_path [0.021197s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_bios [0.010558s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_console [0.011374s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_rescue [0.010649s] ... ok {0} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_dummy_methods [0.009939s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue_bad_command_result [0.087712s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_maintenance [0.084800s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.AgentRescueTests.test__finalize_rescue_with_smartnic_port [0.087225s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.078162s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_continue_cleaning [0.101524s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_retry [0.072816s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_continue_cleaning_fails [0.099040s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_timeouts [0.065939s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_deploy_done_raises_with_event [0.087776s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk [0.087287s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk_rescue [0.090798s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_in_maintenance [0.162428s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_active [0.104798s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.123935s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.080938s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_cleaning [0.114016s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.114127s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state2 [0.481417s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_not_in_core_deploy_step [0.106342s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.116106s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_rescue [0.096571s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_bool_true [0.125837s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_resume_clean [0.097754s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_false [0.128499s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_true [0.131239s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_resume_clean_fails [0.198678s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_heartbeat_touch_provisioning_and_url_save [0.099398s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.128696s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.HeartbeatMixinTest.test_in_core_deploy_step [0.078525s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base_vendor.TestRefreshCleanSteps.test_refresh_clean_steps_missing_steps [0.069523s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.131562s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command [0.012971s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_post [0.011915s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_body [0.010180s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url [0.010752s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url_fail [0.010273s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_clean_step [0.011648s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader [0.011459s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloaderi_with_prep [0.011379s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_power_off [0.014560s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target [0.011202s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_uefi [0.131108s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target_custom_port [0.012069s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target_wipe_disk_metadata [0.011430s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_sync [0.011296s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_all_attempts [0.013765s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_one_timeout [0.012937s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_two_timeouts [0.013938s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists [0.018202s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_conn_problem [0.101259s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir_tempdir [0.015867s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file [0.015670s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console [0.022326s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_image_source [0.058489s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_exception [0.021422s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_port [0.055962s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_skip_check_write_image_false [0.037929s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_deploy [0.162326s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_deploy_with_smartnic_port [0.163294s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare_fixes_and_logs_boot_option_warning [0.072995s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_validate [0.046755s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_another_boot_interface [0.032630s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_maintenance [0.046739s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.045955s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_write [0.043990s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_retries [0.046554s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_timeout [0.054255s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_forced_kill [0.827378s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_err [0.054312s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_shellinabox_not_running [0.022169s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp [0.014522s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp_with_address_conf [0.013443s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console [0.028837s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next [0.075765s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail [0.035959s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_nopid [0.028276s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_engine [0.072267s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_timeout [0.027096s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console [0.038744s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout_disabled [0.034480s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail [0.028952s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_nopid [0.032871s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console_fail_nopid [0.015278s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_keystone [0.023690s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_force_raw [0.024397s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_partition [0.026763s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_transport [0.288917s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_execute_clean_step_version_mismatch [0.074331s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set [0.076920s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_missing_steps [0.084396s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_engine [0.078185s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_on [0.018165s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_reset [0.018244s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_get_clean_steps_override_priorities_none [0.073756s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_off [0.016604s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_off [0.017876s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_reset [0.018518s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_on [0.017789s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_reset [0.022450s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_off [0.017837s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning [0.103899s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_on [0.017807s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_reset [0.018745s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_snmp_objects [0.016317s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_reset [0.018195s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on [0.026758s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_fast_track [0.106263s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on_cached_driver [0.018523s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_reset [0.029843s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_off [0.028219s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_pdu_discovery_failure [0.017620s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning [0.084254s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_on [0.017607s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_reset [0.017749s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_snmp_objects [0.015521s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_off [0.016207s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_on [0.016609s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_cleaning_error [0.086936s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_reset [0.018636s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_off [0.017547s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_on [0.017359s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_off [0.018148s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_reset [0.022709s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_fast_track [0.086318s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_off [0.017990s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_manage_boot_false [0.058062s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_all [0.029071s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_one [0.032977s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_not_in_by_arch [0.009120s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_uefi_without_by_arch [0.008700s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_bios_without_by_arch [0.008320s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_in_by_arch [0.008721s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_not_in_by_arch [0.008761s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_provisioning_vif_port_id [0.040934s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_vif_port_id [0.040423s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ISCSISetupAndHandleErrorsTestCase.test_parent_device_yield [0.007208s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_without_master_path [0.008636s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged [0.012526s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_disk [0.012416s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_gb [0.012169s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_root_gb [0.012528s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_root_gb [0.012875s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_no_kernel [0.012577s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_unicode_swap_mb [0.015168s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_gb [0.012432s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_missing_format [0.012438s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_true [0.038873s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image_missing_root [0.012532s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images [0.013989s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_default_value [0.012474s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_instance_info_priority [0.012259s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_dev [0.012269s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs [0.093814s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_never [0.056754s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_no_poweroff [0.164453s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_all_supported_capabilities [0.006811s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_capabilities [0.006043s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_instance_info_cap [0.006027s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_true [0.006696s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_false [0.005962s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_invalid_type [0.006109s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info_with_exc [0.006359s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_with_exc [0.006081s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_trusted_boot_capability [0.006130s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_always_logout_and_delete_iscsi [0.014759s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_image_exceeds_root_partition [0.012348s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot [0.012549s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_localboot_bios [0.014829s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot [0.013086s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot_bios [0.012809s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_netboot_uefi [0.012716s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_preserve_ephemeral [0.014442s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_with_cpu_arch [0.012491s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_partition_image_without_boot_option [0.012602s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_deploy_whole_disk_image [0.016169s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_force_iscsi_lun_update [0.006780s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_ipv6_address_wrapped [0.011145s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_delay [1.020768s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_login_iscsi_calls_verify_and_update [0.011902s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_verify_iscsi_connection [0.011451s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_get_failure [0.022641s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.PhysicalWorkTestCase.test_verify_iscsi_connection_raises [0.012189s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_whole_disk_image [0.010620s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_trusted_boot [0.008395s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_config_whole_disk_image [0.006529s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_config_whole_disk_image [0.006133s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image [0.047310s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_partition_image [0.049802s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw_new_fields_is_md5 [0.062609s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw_new_fields_none [0.065889s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_no_force_raw [0.063661s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume_none [0.058738s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false [0.041136s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false_fc_target [0.048424s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_error [0.041424s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_fc [0.066075s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi [0.068177s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_uefi [0.055879s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_some_other_exception [0.039549s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image [0.014079s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_authorized [0.009541s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_found [0.011589s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image [0.013399s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_both_clean_up [0.016397s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_another_fs [0.016429s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_fail [0.015530s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_no_clean_up [0.016071s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_amount_not_satisfied [0.009006s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_cache_still_large [0.008539s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size [0.007541s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size_with_amount [0.007599s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_files_with_links_untouched [0.007108s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_deleted [0.007308s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_with_amount [0.007169s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_cleanup_ordering [0.005990s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image [0.007483s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image_linkfail [0.017053s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_both_master_and_dest_out_of_date [0.011272s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate [0.010393s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_out_of_date [0.012861s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir [0.008618s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid [0.008056s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid_no_force_raw [0.008061s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_master [0.007818s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_delay [1.024734s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_up_to_date [0.012212s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_set_failure [0.020538s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img [0.014956s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img_not_cached [0.015215s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_up_to_date [0.011204s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_master [0.008291s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_updated_at [0.009067s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_attempts_port_creation_blindly [0.091665s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_mac_exception [0.039616s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_check_inspecting [0.014173s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_boot_clean_up_failed [0.043435s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error_managed [0.041323s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok [0.015976s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_override [0.015769s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_properties [0.012625s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_validate_ok [0.013033s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay [1.025837s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client [0.750961s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_error [0.015694s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_custom_params [0.041784s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_error [0.049286s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_ok [0.043902s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_unmanaged_ok [0.024482s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_invalid_kernel_params [0.014827s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat [0.008248s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat_already_checked [0.008017s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls [0.007821s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_already_checked [0.007812s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_3 [0.008034s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls [0.007931s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_no_ipmitool [0.007743s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_pass [0.007862s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_fail [0.010233s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_no_ipmitool [0.007555s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_fail [0.007501s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_no_ipmitool [0.007595s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_ok [0.040786s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_failed [0.013939s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_ok [0.012924s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_force_boot_device_persistent [0.038613s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state_exception [0.042343s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_persistent [0.040812s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.040096s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_supported_boot_devices [0.039048s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_fail [0.041906s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_ok [0.044847s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_no_force_set_boot_device [0.041175s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.040385s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi [0.041200s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1 [0.042890s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2 [0.040216s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_fail [0.042933s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_good [0.038865s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_on [0.045408s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_ok [0.042551s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_fail [0.041505s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_ok [0.042059s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_ok [0.042981s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_ok [0.040877s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_fail [0.041011s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_ok [0.040130s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_timeout_ok [0.044206s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_ok [0.042110s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_fail [0.042065s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_ok [0.042485s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.040500s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_driver_routes [0.047133s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.057179s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.051798s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.059445s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.040065s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.043810s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_vendor_routes [0.032811s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception [0.016650s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_first_call_to_address [0.015574s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_wait [0.015847s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_check_exit_code [0.016056s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_username [0.016397s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timing [0.019066s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_password [0.016890s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_str_password [0.015295s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay_on_delay [2.023616s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_known_exception [0.020074s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_unknown_exception [0.019549s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_with_numeric_password [0.014776s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_have_credentials [0.015119s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_port [0.014400s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_prot_version [0.014472s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key [0.014888s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_missing_parameters [0.019999s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_not_supported [0.015989s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_invalid_bridging_type [0.015775s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_missing_parameters [0.016488s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_not_supported [0.016307s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_pass [0.017513s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_on_max_retries [2.049092s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_error [0.016409s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_exception [0.015938s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_off [0.015570s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_on [0.016143s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off_max_retries [2.048314s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_insufficient_resources_for_session [0.018636s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_node_busy [0.020823s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_out_of_space [0.017366s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_bmc_initialization_in_progress [0.016312s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_timeout [0.016387s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_node_busy [0.016750s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_out_of_space [0.017294s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd_without_user [0.038806s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console [0.044364s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_empty_password [0.048866s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_wrong_ipmi_protocol_version [0.031201s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_get_console [0.040318s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console [0.043225s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__exec_stop_console [0.040292s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd [0.039293s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_empty_password [0.050573s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail [0.044552s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate [0.032317s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port [0.032946s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console [0.042523s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_instance [0.045200s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk [0.057278s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk_rescue [0.053967s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_get_properties [0.036010s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot [0.058774s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.049032s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_cleaning [0.073560s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.068895s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_always [0.078217s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_sloppy_false [0.491097s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_sloppy_true [0.290025s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_true [0.077583s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.075578s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.074784s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.078796s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.078927s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.076561s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.070625s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.034074s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.034339s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_image_source [0.035094s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_port [0.040612s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.034830s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good [0.035649s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good_whole_disk_image [0.035633s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection [0.040079s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.051732s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_skip_check_write_image_false [0.036185s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue [0.036415s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.043257s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.046008s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.CleanUpFullFlowTestCase.test_clean_up_with_master [0.038830s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_continue_deploy_localboot_uefi [0.066945s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy [0.052842s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_fast_track [0.066251s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_storage_check_write_image_false_with_smartnic_port [0.057864s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_with_deployment_reboot [0.059508s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_get_clean_steps [0.048912s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_active [0.044323s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying_storage_should_write_false [0.061809s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down [0.073280s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_cache_instance_images_master_path [0.014766s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size [0.039620s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_whole_disk_image [0.039792s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_whole_disk_image_no_root [0.039914s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy [0.069180s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail [0.098021s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail_empty_root_uuid [0.093707s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail_no_root_uuid_or_disk_id [0.096285s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_unexpected_fail [0.096865s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_okay [0.055750s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_preserve_ephemeral [0.058021s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_cpu_arch [0.013282s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_cpu_arch_none [0.013247s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_localboot [0.012202s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_netboot_specified [0.012536s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_portal_port [0.012366s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_good_api_url [0.031307s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_invalid_root_device_hints [0.032673s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__get_image_dir_path [0.013283s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__save_disk_layout [0.025728s] ... ok {1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_inspect [0.006491s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_load_by_name [0.012846s] ... ok {1} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_vendor [0.006517s] ... ok {1} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_set_boot_device [0.008930s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_another_boot_interface [0.032871s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_wrong_state [0.049509s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_instance [0.043542s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_get_properties [0.034018s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state [9.040979s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_get_failure [0.021067s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_set_failure [0.018182s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_error [0.017039s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot [0.095649s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_on [0.019030s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_snmp_auto_cache_supports_pdu_replacement [0.019483s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_off [0.018053s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_reset [0.018751s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_off [0.020821s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_snmp_objects [0.016557s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot_active [0.116782s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_on [0.070206s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot [0.091284s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_snmp_failure [0.069794s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_iscsi [0.095835s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_properties [0.070134s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.078309s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot [0.074523s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_error [0.068795s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.121462s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_timeout [0.072412s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_error [0.068063s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk [0.129156s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_snmp_failure [0.076366s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_always [0.126658s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on [0.070871s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_error [0.068770s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_bool_false [0.129418s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_snmp_failure [0.071505s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitchplus [0.015214s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_rackpdu [0.015096s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_cyberpower [0.016327s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version_and_missing_community [0.015826s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_eatonpower [0.019865s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v2c [0.015273s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_default [0.132138s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_driver [0.017150s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_write_community [0.015073s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v1 [0.015257s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_key_proto [0.014264s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_compat [0.015056s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_badproto [0.015058s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_short_key [0.014855s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_never [0.128062s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_teltronix [0.015474s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_write_community [0.014885s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_xclarity_client [0.033753s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info [0.022421s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_get_param_from_config [0.022759s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_invalid_port [0.020655s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_driver_info_and_config [0.021302s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_hardware_id [0.020458s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_fail [0.072273s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_properties [0.023505s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_supported_boot_devices [0.068368s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device [0.072864s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot [0.073459s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot_timeout [0.070367s] ... ok {0} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_validate [0.069907s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo [0.010820s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_empty_dict [0.010435s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_not_dict [0.010744s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_required_invalid [0.010116s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_abortable [0.010722s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_argsinfo [0.011843s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_priority_only [0.009939s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepTestCase.test_get_and_execute_clean_steps [0.013430s] ... ok {0} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_all_args [0.010509s] ... ok {0} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_priority_only [0.009985s] ... ok {0} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_all_args [0.013646s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_sloppy_false [0.781992s] ... ok {0} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_priority_only [0.011268s] ... ok {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_exclusive_task_metadata [0.010870s] ... ok {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_ironicexception [0.025663s] ... ok {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_nonironicexception [0.025907s] ... ok {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_shared_task_metadata [0.011139s] ... ok {0} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_no_target_raid_config [0.012555s] ... ok {0} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_apply_configuration_wrapper [0.011859s] ... ok {0} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_factory_reset_wrapper [0.011864s] ... ok {0} ironic.tests.unit.drivers.test_base.TestBootInterface.test_validate_rescue_default_impl [0.014426s] ... ok {0} ironic.tests.unit.drivers.test_base.TestDeployInterface.test_warning_on_heartbeat [0.012192s] ... ok {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_boot_modes_default_impl [0.017173s] ... ok {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_indicators_default_impl [0.010780s] ... ok {0} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_inject_nmi_default_impl [0.013932s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_default_interfaces [0.070432s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_no_vendor [0.070908s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_agent [0.069910s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_boot_interface [0.066843s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_sloppy_true [0.503090s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_console_interface [0.065495s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_deploy_interface [0.064752s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.130399s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_driver_interfaces [0.065214s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_get_properties [0.064767s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.135621s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_inspect_interface [0.069789s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_indicators [0.063671s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.132109s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_fail [0.065642s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue [0.111989s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_good [0.065248s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_mode_good [0.063871s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.131773s] ... ok {0} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_indicator_state_good [0.067597s] ... ok {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties [0.025060s] ... ok {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties_none [0.017776s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.115147s] ... ok {0} ironic.tests.unit.drivers.test_ibmc.IBMCHardwareTestCase.test_default_interfaces [0.069304s] ... ok {0} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_default_interfaces [0.066713s] ... ok {0} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_override_with_no_raid [0.067048s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.168254s] ... ok {0} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_agent_rescue [0.067166s] ... ok {0} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_pxe [0.066556s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.165334s] ... ok {0} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_noop_mgmt [0.073521s] ... ok {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_default_interfaces [0.071398s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.166456s] ... ok {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_agent_rescue [0.074136s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.061441s] ... ok {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_ipmitool_power [0.073031s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.058392s] ... ok {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_raid_configuration [0.075195s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.088579s] ... ok {0} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_default_interfaces [0.068132s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.062597s] ... ok {0} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_fake_management [0.071033s] ... ok {0} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_get_properties [0.022729s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.092091s] ... ok {0} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_valid_methods [0.069858s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs [0.014549s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_IPA_command_fail [0.014718s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.089938s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_fs [0.016008s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_swift [0.019047s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_swift [0.026328s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good [0.061494s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability [0.082157s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good_whole_disk_image [0.094015s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append_duplicate [0.082476s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict [0.021870s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection [0.091601s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_invalid_character_fail [0.022232s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_only_key_or_value_fail [0.021970s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.089298s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device_clears_is_next_boot_persistent [0.093503s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare [0.130882s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_false [0.092091s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability_returns_none [0.022108s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare_active [0.097744s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_mac_addresses [0.072927s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_unicode [0.021286s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_create [0.015755s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_name [0.016454s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_list [0.016064s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_payload_schemas [0.013463s] ... ok {0} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save [0.021745s] ... ok {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get_by_node_id [0.016493s] ... ok {0} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save_after_refresh [0.031644s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_list [0.016209s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare_instance_ramdisk [0.193146s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_refresh [0.017242s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register [0.017578s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_hardware_interfaces [0.017421s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_with_update [0.016870s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_with_invalid_group [0.015469s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare_unrescuing [0.098164s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_save [0.016947s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_touch [0.016967s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister_all_hardware_interfaces [0.017721s] ... ok {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_destroy [0.015902s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_validate_calls_boot_validate [0.069287s] ... ok {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_id [0.017306s] ... ok {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_name [0.015787s] ... ok {0} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list_by_names [0.015156s] ... ok {0} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce [0.014656s] ... ok {0} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_bad_values [0.009696s] ... ok {0} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_nullable_translation [0.009652s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_validate_interface_mismatch [0.090148s] ... ok {0} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce [0.010993s] ... ok {0} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce_bad_values [0.009719s] ... ok {0} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_bad_value [0.009619s] ... ok {0} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_good_value [0.009944s] ... ok {0} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_bad_value [0.009600s] ... ok {0} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_good_value [0.009542s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue [0.064583s] ... ok {0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test__repr__includes_default_function_name_and_source_hash [0.011862s] ... ok {0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function_invalid_type [0.009831s] ... ok {0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_invalid_type [0.009890s] ... ok {0} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_string [0.010472s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_missing [0.015245s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_set [0.014895s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.079965s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_missing [0.015623s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_default [0.015422s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_non_default [0.014703s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_set [0.015070s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_default [0.014643s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.079373s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_remove [0.016082s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_remove [0.010474s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_set [0.015230s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set [0.014917s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set_no_remove [0.015169s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_unset [0.014141s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_retry [0.089010s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_set [0.014635s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_default [0.014043s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_non_default [0.016485s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_untouched [0.014150s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_missing [0.015005s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove_in_maintenance [0.014330s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_wrong_state [0.092937s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_missing [0.014714s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.013857s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_set [0.014626s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_no_remove_non_default [0.014097s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_missing [0.015088s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_timeouts [0.073596s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_set [0.014207s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_default [0.014396s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_remove [0.014108s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test___init__ [0.035095s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_default [0.014608s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_set [0.013614s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test__validate_property_values_success [0.015555s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_insecure [0.014026s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure [0.014820s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_with_traits [0.014374s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_read [0.087996s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_create [0.017805s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_traits [0.014609s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_bad_id_and_uuid [0.013778s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_uuid [0.015365s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name_node_not_found [0.015163s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v3 [0.082678s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_uuid [0.019219s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_list [0.015440s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_payload_schemas [0.015250s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_release [0.015025s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve [0.015672s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_context [0.081360s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_after_refresh [0.071332s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport [0.083144s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_truncated [0.033879s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group [0.018855s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_update_with_invalid_properties [0.016929s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_corrected_power_state_payload [0.014379s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_traits_is_none [0.014566s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get [0.080944s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification_empty_schema [0.025100s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_invalid_status_fails [0.009601s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_level_too_low [0.019445s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_schema_not_populated [0.019847s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema [0.009306s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_missing_required_obj_field [0.009510s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_engine [0.085820s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_no_object_field [0.009428s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_nullable_field_auto_populates [0.009498s] ... ok {0} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version [0.009145s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object [0.010258s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_map_version_bad [0.009694s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_old [0.010328s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict [0.009478s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_base_attributes [0.009537s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_1 [0.009202s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_transport [0.088354s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_3 [0.009742s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_changed_4 [0.009441s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_new [0.008841s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old [0.009452s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old_keep [0.008686s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_downgrade [0.011089s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_pinned [0.012576s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned [0.010567s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned_2versions [0.010991s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_transport [0.089042s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_no_pin [0.009366s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned [0.012401s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_off [0.021153s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_bad [0.010913s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_on [0.017732s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_no_myobj [0.010861s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_updates [0.009586s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_snmp_objects [0.017275s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive [0.009478s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_obj_constructor [0.009912s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_object_property [0.009179s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_on [0.020318s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_orphaned_object [0.009422s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_refresh_object [0.009888s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_off [0.019381s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_static_result [0.009390s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_supports_version [0.011199s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_on [0.019076s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_unknown_objtype [0.010284s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_updates [0.009304s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_snmp_objects [0.018982s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_api [0.011479s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_api [0.011124s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_off [0.020229s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor [0.011559s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport [0.010650s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_off [0.022877s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero [0.010543s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision [0.011221s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_on [0.019152s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_pin_ignored [0.011400s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables [0.009854s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_off [0.017346s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_invalid_pin [0.011741s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_on [0.017453s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_api [0.011738s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_conductor [0.013144s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_snmp_objects [0.019038s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_off [0.018275s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_on [0.017549s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_off [0.016397s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_on [0.016842s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_snmp_objects [0.015499s] ... ok {0} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_chooses_newer_properly [0.100511s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_set [0.017468s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_off [0.027802s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_on [0.026991s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_unknown_pdu [0.016287s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_missing [0.056381s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_off [0.018597s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_default [0.017785s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_remove [0.014375s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_off [0.016723s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_on [0.014592s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_missing [0.031635s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_snmp_objects [0.017186s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_on [0.017669s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_missing [0.026636s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_non_default [0.015079s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_off [0.019037s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.013601s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_on [0.017701s] ... ok {0} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.013586s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_on [0.017388s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_snmp_objects [0.015209s] ... ok {0} ironic.tests.unit.objects.test_port.TestMigrateVifPortId.test_migrate_vif_port_id_all [0.037182s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off [0.022625s] ... ok {0} ironic.tests.unit.objects.test_port.TestMigrateVifPortId.test_migrate_vif_port_id_one [0.026918s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_bad_id_and_uuid_and_address [0.011419s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_address [0.009455s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_payload_schemas [0.008187s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_refresh [0.009442s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_save [0.010760s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_save_after_refresh [0.023279s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_supported [0.010066s] ... ok {0} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_unsupported [0.008995s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra [0.011441s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.008293s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestMigrateVifPortId.test_migrate_vif_port_id_one [0.017315s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_create [0.009310s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_id [0.009199s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_uuid [0.009171s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list [0.008856s] ... ok {0} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save_after_refresh [0.022800s] ... ok {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_as_dict [0.008038s] ... ok {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy [0.009116s] ... ok {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy_list [0.008652s] ... ok {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_by_id [0.009203s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get [0.010711s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_id [0.009333s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_uuid [0.008871s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_by_node_id [0.009186s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_none [0.011136s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_payload_schemas [0.007897s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_refresh [0.009401s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save_after_refresh [0.018087s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_create [0.009367s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_uuid [0.009383s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list [0.009258s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_none [0.008921s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_payload_schemas [0.008238s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save [0.010276s] ... ok {0} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save_after_refresh [0.018642s] ... ok {0} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute [0.006188s] ... ok {0} ironic.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute [0.007309s] ... ok GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a2a61280-54cb-4ad9-a7cc-ee267a7da7c8 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Test exception message.\\nTraceback (most recent call last):\\n File \\\"/opt/stack/ironic/ironic/common/rpc/amqp.py\\\", line 434, in _process_data\\\\n **args)\\n File \\\"/opt/stack/ironic/ironic/common/rpc/dispatcher.py\\\", line 172, in dispatch\\\\n result = getattr(proxyobj, method)(ctxt, **kwargs)\", \"debuginfo\": null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e3eee1d7-1d94-474b-9716-5218185130e1 {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-6f7bbd9d-ad56-43a0-a69e-f109c1f28c5b {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Test exception message.\\nTraceback (most recent call last):\\n File \\\"/opt/stack/ironic/ironic/common/rpc/amqp.py\\\", line 434, in _process_data\\\\n **args)\\n File \\\"/opt/stack/ironic/ironic/common/rpc/dispatcher.py\\\", line 172, in dispatch\\\\n result = getattr(proxyobj, method)(ctxt, **kwargs)\", \"debuginfo\": null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-318b3fa6-f35e-4473-8a9f-565ef5d381ce {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Remote error: TestException Test exception message.\\n['\",\"debuginfo\":null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a197e1a7-f3fb-4e2b-892d-918661340016 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} GET: / {} GOT:{'name': 'OpenStack Ironic API', 'description': 'Ironic is an OpenStack project which aims to provision baremetal machines.', 'versions': [{'id': 'v1', 'links': [{'href': 'http://spam.ham/eggs/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'version': '1.58', 'min_version': '1.1'}], 'default_version': {'id': 'v1', 'links': [{'href': 'http://spam.ham/eggs/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'version': '1.58', 'min_version': '1.1'}} GET: / {} GOT:{'name': 'OpenStack Ironic API', 'description': 'Ironic is an OpenStack project which aims to provision baremetal machines.', 'versions': [{'id': 'v1', 'links': [{'href': 'https://mycloud.com/ironic/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'version': '1.58', 'min_version': '1.1'}], 'default_version': {'id': 'v1', 'links': [{'href': 'https://mycloud.com/ironic/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'version': '1.58', 'min_version': '1.1'}} GET: / {} GOT:{'name': 'OpenStack Ironic API', 'description': 'Ironic is an OpenStack project which aims to provision baremetal machines.', 'versions': [{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'version': '1.58', 'min_version': '1.1'}], 'default_version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'version': '1.58', 'min_version': '1.1'}} GET: /v1/foo {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/ {} GOT:{'id': 'v1', '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', 'rel': 'describedby', 'type': 'text/html'}], 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'lookup': [{'href': 'http://localhost/v1/lookup/', 'rel': 'self'}, {'href': 'http://localhost/lookup/', 'rel': 'bookmark'}], 'heartbeat': [{'href': 'http://localhost/v1/heartbeat/', 'rel': 'self'}, {'href': 'http://localhost/heartbeat/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'version': '1.58', 'min_version': '1.1'}} GET: /v1/ {} GOT:{'id': 'v1', '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', 'rel': 'describedby', 'type': 'text/html'}], 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/portgroups/', 'rel': 'self'}, {'href': 'http://localhost/portgroups/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/volume/', 'rel': 'self'}, {'href': 'http://localhost/volume/', 'rel': 'bookmark'}], 'lookup': [{'href': 'http://localhost/v1/lookup/', 'rel': 'self'}, {'href': 'http://localhost/lookup/', 'rel': 'bookmark'}], 'heartbeat': [{'href': 'http://localhost/v1/heartbeat/', 'rel': 'self'}, {'href': 'http://localhost/heartbeat/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'version': '1.58', 'min_version': '1.1'}} GET: /v1/ {} GOT:{'id': 'v1', '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', 'rel': 'describedby', 'type': 'text/html'}], 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'version': '1.58', 'min_version': '1.1'}} foo() migrated 15 of 15 objects. func1() migrated 15 of 15 objects. func2() migrated 20 of 20 objects. func1() migrated 10 of 10 objects. func2() migrated 0 of 0 objects. Running batches of 50 until migrations have been completed. Data migrations have completed. Malformed option m1key1=value1 Malformed option m1.key1value1 Data migrations have not completed. Please re-run. Running batches of 50 until migrations have been completed. Data migrations have completed. {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state [9.033100s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_set_failure [0.011325s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_timeout [4.018083s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on [0.011417s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state [9.025603s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_get_failure [0.011538s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout [9.022478s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset [0.014622s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_delay_option [0.011274s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_get_failure [0.010825s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_set_failure [0.010316s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout [9.023961s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_delay [1.014358s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state [9.026690s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout [9.026990s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_off [0.010759s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_snmp_failure [0.009657s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_on [0.010272s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_on [0.009675s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_error [0.042357s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_off [0.039963s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_snmp_failure [0.039818s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off [0.039025s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_error [0.041463s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_timeout [0.039473s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc [0.008778s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitch [0.008222s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_aten [0.008827s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default [0.008089s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version [0.008356s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_driver [0.008343s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_outlet [0.008774s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_version [0.008255s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_address [0.008520s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v1 [0.008269s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_outlet [0.008462s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_user [0.008173s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_community [0.008393s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port [0.008266s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port_default [0.009091s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v2c [0.008911s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3 [0.009326s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_badproto [0.008640s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_default_proto [0.010956s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_nokey [0.008404s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_short_key [0.008658s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_engine_id [0.008253s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_name [0.008905s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_default_proto [0.008278s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_key_proto [0.008513s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_nokey [0.008376s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_server_hardware_id [0.013078s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device [0.039753s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_current_none [0.039679s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_primary_none [0.042854s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device_fail [0.042184s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_validate [0.039744s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state [0.038531s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state_fail [0.042710s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_properties [0.014020s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power [0.040672s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_fail [0.040705s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_timeout [0.043633s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_description_invalid [0.006630s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_missing_description [0.006010s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_unknown_key [0.006315s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_not_dict [0.005986s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_all_args [0.006146s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_priority [0.005967s] ... ok {1} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_clean_and_deploy_step_all_args [0.006189s] ... ok {1} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_argsinfo [0.007045s] ... ok {1} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_priority [0.005901s] ... ok {1} ironic.tests.unit.drivers.test_base.DeployStepTestCase.test_get_and_execute_deploy_steps [0.007928s] ... ok {1} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_check_func_references [0.006803s] ... ok {1} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_noexception [0.006062s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration [0.008836s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_delete_existing [0.008687s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_invalid [0.008299s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_get_logical_disk_properties [0.008886s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate [0.007308s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_raid_config [0.006858s] ... ok {1} ironic.tests.unit.drivers.test_base.TestBareDriver.test_class_variables [0.005916s] ... ok {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_boot_mode_default_impl [0.008129s] ... ok {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_indicator_state_default_impl [0.006256s] ... ok {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_boot_mode_default_impl [0.008058s] ... ok {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_indicator_state_default_impl [0.008101s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_idrac [0.042678s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_inspector [0.040501s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_raid [0.040584s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_inspect [0.041210s] ... ok WARNI [ironic.drivers.modules.drac.vendor_passthru] Vendor passthru interface 'idrac' is deprecated and may be removed in a future release. Use 'idrac-wsman' instead. {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_management_and_power [0.040371s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_boot_device [0.037749s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_indicator_state [0.039186s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_properties [0.037741s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_boot_devices [0.037401s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_validate [0.036892s] ... ok {1} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_power_interface [0.037055s] ... ok {1} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_default_interfaces [0.038923s] ... ok {1} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_supported_interfaces [0.041747s] ... ok {1} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_default_interfaces [0.037871s] ... ok {1} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_inspector [0.036977s] ... ok {1} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_no_bios [0.037415s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_default_interfaces [0.037626s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_agent_rescue [0.038270s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_cinder_storage [0.041046s] ... ok {1} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_shellinabox [0.038186s] ... ok {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_bios_configuration [0.040135s] ... ok {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_boot_configuration [0.040009s] ... ok {1} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_inspector [0.186981s] ... ok {1} ironic.tests.unit.drivers.test_redfish.RedfishHardwareTestCase.test_default_interfaces [0.038212s] ... ok {1} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_bad_method [0.038124s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_command_fail [0.008326s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_unkown [0.009018s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_get_ramdisk_logs_file_name [0.007172s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_local [0.013324s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append [0.047408s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_not_string [0.013719s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_incorrect_format_fail [0.012761s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device [0.038942s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_true [0.053536s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability [0.013151s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_string [0.012226s] ... ok {1} ironic.tests.unit.drivers.test_xclarity.XClarityHardwareTestCase.test_default_interfaces [0.038118s] ... ok {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_bad_id_and_uuid_and_name [0.008662s] ... ok {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_id [0.009136s] ... ok {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_uuid [0.009653s] ... ok {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_refresh [0.009718s] ... ok {1} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save_after_refresh [0.019662s] ... ok {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_create [0.009433s] ... ok {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_delete [0.009366s] ... ok {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get [0.009224s] ... ok {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_create [0.009153s] ... ok {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_delete [0.009195s] ... ok {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_save [0.009568s] ... ok {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_save [0.009071s] ... ok {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_create_and_update [0.018315s] ... ok {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_delete_nochange [0.023641s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_create [0.009979s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_bad_id_and_uuid [0.008099s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_id [0.009229s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_uuid [0.008876s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_list [0.009333s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_payload_schemas [0.008188s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_refresh [0.009608s] ... ok {1} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save [0.010317s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_load [0.009166s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group [0.010064s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_uppercased [0.010264s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_update_existing_true [0.010222s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister [0.010867s] ... ok {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_create [0.009666s] ... ok {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_uuid [0.009363s] ... ok {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list [0.009255s] ... ok {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_refresh [0.012275s] ... ok {1} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_save [0.009627s] ... ok {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_default_as_function [0.006036s] ... ok {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function [0.005850s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_remove [0.008904s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_missing [0.008505s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_missing [0.009021s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_non_default [0.008797s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_missing [0.009244s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_set [0.008679s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_missing [0.008859s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_default [0.008508s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_non_default [0.008876s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_unset [0.008439s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_missing [0.009159s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_missing [0.008687s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_remove [0.008903s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_missing [0.008426s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove [0.008900s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_set [0.008424s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_missing [0.008784s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.008696s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_remove [0.008985s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_missing [0.008585s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_missing [0.010963s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_remove [0.008645s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_missing [0.009104s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_non_default [0.008679s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_non_default [0.009057s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_missing [0.008619s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing [0.008960s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing_remove [0.008513s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_invalid_properties [0.009328s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_id [0.009601s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_not_found [0.009649s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name [0.009954s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_port_addresses [0.009491s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_refresh [0.010314s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_release_node_not_found [0.009537s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve_node_not_found [0.009745s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save [0.012004s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_updated_at_field [0.012172s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_fail [0.014455s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_uppercase [0.011461s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_traits [0.010896s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_touch_provisioning [0.010804s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_crud_payload [0.008940s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload [0.009220s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_no_traits [0.008658s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_power_state_payload [0.009239s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_provision_state_payload [0.008684s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification [0.012840s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_make_status_invalid [0.006229s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_with_status [0.006202s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_without_status_fails [0.006090s] ... ok {1} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_notifs_disabled [0.012019s] ... ok {1} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_one [0.006194s] ... ok {1} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_two [0.006102s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object [0.005972s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object_list [0.005895s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_assign_value_without_DictCompat [0.005976s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_changed_2 [0.005953s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive [0.005986s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_contains [0.008758s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_same [0.005669s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_dehydration [0.005728s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db [0.006884s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get [0.005895s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes [0.006058s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_hydration [0.005710s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns [0.005810s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_type_error [0.005980s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_load [0.005712s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_load_in_base [0.005941s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set [0.006038s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_obj_fields [0.005685s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_object_inheritance [0.005670s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_object_property_type_error [0.005981s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_with_alternate_context [0.005783s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_conductor [0.006973s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports [0.006932s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport [0.006398s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization [0.006128s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_api [0.006267s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_conductor [0.007460s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObjectVersions.test_object_version_check [0.015935s] ... ok {1} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_keeps_newer_properly [0.056745s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported [0.009261s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_missing [0.008665s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported [0.008117s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_non_default [0.008502s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_set [0.008005s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_default [0.008342s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_remove [0.008449s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra [0.008731s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_lower_version [0.008176s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_create [0.009596s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_id [0.008987s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_uuid [0.009556s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_list [0.009322s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_supported [0.009245s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_unsupported [0.012022s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_lower_version [0.008697s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.008340s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestMigrateVifPortId.test_migrate_vif_port_id_all [0.023146s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_bad_id_and_uuid_and_address_and_name [0.008577s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_address [0.009585s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_name [0.009196s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list_by_node_id [0.008960s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_payload_schemas [0.008352s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_refresh [0.009260s] ... ok {1} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save [0.010388s] ... ok {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create [0.009343s] ... ok {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create_list [0.009549s] ... ok {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_exists [0.008822s] ... ok {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_trait_names [0.008347s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_create [0.009844s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_destroy [0.010679s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list [0.009976s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save [0.012690s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_destroy [0.010168s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get [0.010996s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_id [0.009270s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_node_id [0.009473s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_volume_id [0.009309s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_refresh [0.009175s] ... ok {1} ironic.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute [0.007001s] ... ok {1} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute_parent_mocked [0.006628s] ... ok GET: /v1.xml {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/bad/path {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-587f01a1-7283-4f2c-92ce-54f865c2dda4 {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-af9552ec-7b5f-44dd-8874-5c64ba5e56c1 {"error_message": "{\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-49a3ce30-3b59-4dea-84c4-5cc31995a6e6 {"error_message": "{\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-acddc3b6-008d-4c9f-8fab-5cfbec3cef21 {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c41cec0f-186f-459f-983b-685b4d0a0fb7 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-800a44c3-821e-45d7-be21-34c34f3cf8b9 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} DELETE: /v1/v1 GOT:Response: 405 Method Not Allowed Allow: GET Content-Type: application/json {"error_message": "{\"code\": 405, \"title\": \"Method Not Allowed\", \"description\": \"\"}"} GET: /v1/ {} GOT:{'id': 'v1', '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', 'rel': 'describedby', 'type': 'text/html'}], 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/portgroups/', 'rel': 'self'}, {'href': 'http://localhost/portgroups/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'lookup': [{'href': 'http://localhost/v1/lookup/', 'rel': 'self'}, {'href': 'http://localhost/lookup/', 'rel': 'bookmark'}], 'heartbeat': [{'href': 'http://localhost/v1/heartbeat/', 'rel': 'self'}, {'href': 'http://localhost/heartbeat/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'version': '1.58', 'min_version': '1.1'}} func1() migrated 10 of 15 objects. func1() migrated 10 of 10 objects. func1() migrated 10 of 10 objects. func1() migrated 0 of 0 objects. func2() migrated 0 of 0 objects. Running batches of 50 until migrations have been completed. Data migrations have completed. Running batches of 50 until migrations have been completed. ====== Totals ====== Ran: 6051 tests in 362.9265 sec. - Passed: 6039 - Skipped: 12 - Expected Fail: 0 - Unexpected Success: 0 - Failed: 0 Sum of execute time for each test: 658.3160 sec. ============== Worker Balance ============== - Worker 0 (3026 tests) => 0:05:00.028332 - Worker 1 (3025 tests) => 0:06:02.876329 + exit 0 Processing files: openstack-ironic-common-13.0.3-0.20191217040142.3e39d7b.el8.noarch warning: File not found: /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/lib/python3.6/site-packages/ironic_tests.egg_info Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.6o9KTS + umask 022 + cd /builddir/build/BUILD + cd ironic-13.0.3.dev5 + DOCDIR=/builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/share/doc/openstack-ironic-common + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/share/doc/openstack-ironic-common + cp -pr README.rst /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/share/doc/openstack-ironic-common + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.B2pOMM + umask 022 + cd /builddir/build/BUILD + cd ironic-13.0.3.dev5 + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/share/licenses/openstack-ironic-common + export LC_ALL=C + LC_ALL=C + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/share/licenses/openstack-ironic-common + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64/usr/share/licenses/openstack-ironic-common + exit 0 Provides: config(openstack-ironic-common) = 1:13.0.3-0.20191217040142.3e39d7b.el8 openstack-ironic-common = 1:13.0.3-0.20191217040142.3e39d7b.el8 python3.6dist(ironic) = 13.0.3.dev5 python3dist(ironic) = 13.0.3.dev5 Requires(interp): /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(pre): /bin/sh shadow-utils Requires: /bin/sh /usr/bin/python3 python(abi) = 3.6 Processing files: openstack-ironic-api-13.0.3-0.20191217040142.3e39d7b.el8.noarch Provides: openstack-ironic-api = 1:13.0.3-0.20191217040142.3e39d7b.el8 Requires(interp): /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(post): /bin/sh Requires(preun): /bin/sh Requires(postun): /bin/sh Requires: /usr/bin/python3 Processing files: openstack-ironic-conductor-13.0.3-0.20191217040142.3e39d7b.el8.noarch Provides: openstack-ironic-conductor = 1:13.0.3-0.20191217040142.3e39d7b.el8 Requires(interp): /bin/sh /bin/sh /bin/sh Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires(post): /bin/sh Requires(preun): /bin/sh Requires(postun): /bin/sh Requires: /usr/bin/python3 Processing files: python3-ironic-tests-13.0.3-0.20191217040142.3e39d7b.el8.noarch Provides: python3-ironic-tests = 1:13.0.3-0.20191217040142.3e39d7b.el8 Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PartialHardlinkSets) <= 4.0.4-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1 Requires: python(abi) = 3.6 Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64 Wrote: /builddir/build/RPMS/openstack-ironic-common-13.0.3-0.20191217040142.3e39d7b.el8.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-api-13.0.3-0.20191217040142.3e39d7b.el8.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-conductor-13.0.3-0.20191217040142.3e39d7b.el8.noarch.rpm Wrote: /builddir/build/RPMS/python3-ironic-tests-13.0.3-0.20191217040142.3e39d7b.el8.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.0qcgpf + umask 022 + cd /builddir/build/BUILD + cd ironic-13.0.3.dev5 + /usr/bin/rm -rf /builddir/build/BUILDROOT/openstack-ironic-13.0.3-0.20191217040142.3e39d7b.el8.x86_64 + exit 0 Child return code was: 0