Mock Version: 1.3.4 Mock Version: 1.3.4 ENTER ['do'](['/usr/bin/rpmbuild', '-bs', '--target', 'noarch', '--nodeps', u'/builddir/build/SPECS/openstack-ironic.spec'], nspawn_args=[]shell=Falseuid=996env={'LANG': 'en_GB.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOSTNAME': 'mock', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'HOME': '/builddir', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PS1': ' \\s-\\v\\$ '}chrootPath='/var/lib/mock/cloud8-openstack-victoria-el8-build-87652-626522/root'gid=135user='mockbuild'timeout=86400logger=printOutput=False) Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '0f1497c50b5143ed87296819a1c93fa6', '-D', '/var/lib/mock/cloud8-openstack-victoria-el8-build-87652-626522/root', '--setenv=LANG=en_GB.UTF-8', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOSTNAME=mock', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=HOME=/builddir', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PS1= \\s-\\v\\$ ', '-u', 'mockbuild', '/usr/bin/rpmbuild', '-bs', '--target', 'noarch', '--nodeps', u'/builddir/build/SPECS/openstack-ironic.spec'] with env {'LANG': 'en_GB.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOSTNAME': 'mock', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'HOME': '/builddir', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PS1': ' \\s-\\v\\$ '} and shell False Building target platforms: noarch Building for target noarch Wrote: /builddir/build/SRPMS/openstack-ironic-16.0.3-1.el8.src.rpm Child return code was: 0 ENTER ['do'](['/usr/bin/rpmbuild', '-bb', '--target', 'noarch', '--nodeps', u'/builddir/build/SPECS/openstack-ironic.spec'], nspawn_args=['--private-network']shell=Falseuid=996env={'LANG': 'en_GB.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOSTNAME': 'mock', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'HOME': '/builddir', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PS1': ' \\s-\\v\\$ '}chrootPath='/var/lib/mock/cloud8-openstack-victoria-el8-build-87652-626522/root'gid=135user='mockbuild'timeout=86400logger=printOutput=False) Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'cab285d42e7c41e98402ab2e9e34d7cc', '-D', '/var/lib/mock/cloud8-openstack-victoria-el8-build-87652-626522/root', '--private-network', '--setenv=LANG=en_GB.UTF-8', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOSTNAME=mock', '--setenv=PROMPT_COMMAND=printf "\\033]0;\\007"', '--setenv=HOME=/builddir', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PS1= \\s-\\v\\$ ', '-u', 'mockbuild', '/usr/bin/rpmbuild', '-bb', '--target', 'noarch', '--nodeps', u'/builddir/build/SPECS/openstack-ironic.spec'] with env {'LANG': 'en_GB.UTF-8', 'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOSTNAME': 'mock', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'HOME': '/builddir', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PS1': ' \\s-\\v\\$ '} and shell False Building target platforms: noarch Building for target noarch Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.F6HIlj + umask 022 + cd /builddir/build/BUILD + /usr/lib/rpm/redhat/gpgverify --keyring=/builddir/build/SOURCES/0x5d2d1e4fb8d38e6af76c50d53d4fec30cf5ce3da.txt --signature=/builddir/build/SOURCES/ironic-16.0.3.tar.gz.asc --data=/builddir/build/SOURCES/ironic-16.0.3.tar.gz gpgv: Signature made Mon Jan 18 16:11:15 2021 UTC gpgv: using RSA key 23604C209761FF038D4D3E9CFEEBD333F827D2B4 gpgv: Good signature from "OpenStack Infra (Wallaby Cycle) " + cd /builddir/build/BUILD + rm -rf ironic-16.0.3 + /usr/bin/gzip -dc /builddir/build/SOURCES/ironic-16.0.3.tar.gz + /usr/bin/tar -xof - + STATUS=0 + '[' 0 -ne 0 ']' + cd ironic-16.0.3 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + 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.zD9SCl + umask 022 + cd /builddir/build/BUILD + cd ironic-16.0.3 ++ '[' -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/drivers creating build/lib/ironic/drivers/modules creating 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/drivers/modules/irmc/inspect.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/management.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/bios.py -> build/lib/ironic/drivers/modules/irmc copying ironic/drivers/modules/irmc/__init__.py -> build/lib/ironic/drivers/modules/irmc creating build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/power.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/boot.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/bios.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/utils.py -> build/lib/ironic/drivers/modules/redfish copying ironic/drivers/modules/redfish/__init__.py -> build/lib/ironic/drivers/modules/redfish creating build/lib/ironic/tests creating build/lib/ironic/tests/unit creating build/lib/ironic/tests/unit/drivers creating build/lib/ironic/tests/unit/drivers/modules creating 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/drivers/modules/redfish/test_management.py -> 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/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_power.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 creating build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/power.py -> build/lib/ironic/drivers/modules/ibmc copying ironic/drivers/modules/ibmc/raid.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/vendor.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/__init__.py -> build/lib/ironic/drivers/modules/ibmc creating 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/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/inspect.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/management.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/bios.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/vendor.py -> build/lib/ironic/drivers/modules/ilo copying ironic/drivers/modules/ilo/__init__.py -> build/lib/ironic/drivers/modules/ilo 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/test_utils.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_conductor.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_port.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_event.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_ramdisk.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_allocation.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/tests/unit/api/controllers/v1/test_volume.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_volume_connector.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_portgroup.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_versions.py -> 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 creating build/lib/ironic/conf copying ironic/conf/ansible.py -> build/lib/ironic/conf copying ironic/conf/inspector.py -> build/lib/ironic/conf copying ironic/conf/json_rpc.py -> build/lib/ironic/conf copying ironic/conf/database.py -> build/lib/ironic/conf copying ironic/conf/pxe.py -> build/lib/ironic/conf copying ironic/conf/metrics.py -> build/lib/ironic/conf copying ironic/conf/glance.py -> build/lib/ironic/conf copying ironic/conf/redfish.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/neutron.py -> build/lib/ironic/conf copying ironic/conf/conductor.py -> build/lib/ironic/conf copying ironic/conf/nova.py -> build/lib/ironic/conf copying ironic/conf/audit.py -> build/lib/ironic/conf copying ironic/conf/healthcheck.py -> build/lib/ironic/conf copying ironic/conf/metrics_statsd.py -> build/lib/ironic/conf copying ironic/conf/drac.py -> build/lib/ironic/conf copying ironic/conf/iscsi.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/irmc.py -> build/lib/ironic/conf copying ironic/conf/agent.py -> build/lib/ironic/conf copying ironic/conf/auth.py -> build/lib/ironic/conf copying ironic/conf/api.py -> build/lib/ironic/conf copying ironic/conf/opts.py -> build/lib/ironic/conf copying ironic/conf/swift.py -> build/lib/ironic/conf copying ironic/conf/console.py -> build/lib/ironic/conf copying ironic/conf/ibmc.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/__init__.py -> build/lib/ironic/conf copying ironic/conf/xclarity.py -> build/lib/ironic/conf copying ironic/conf/cinder.py -> build/lib/ironic/conf copying ironic/drivers/redfish.py -> build/lib/ironic/drivers copying ironic/drivers/ilo.py -> build/lib/ironic/drivers copying ironic/drivers/ipmi.py -> build/lib/ironic/drivers copying ironic/drivers/intel_ipmi.py -> build/lib/ironic/drivers copying ironic/drivers/hardware_type.py -> build/lib/ironic/drivers copying ironic/drivers/base.py -> build/lib/ironic/drivers copying ironic/drivers/generic.py -> build/lib/ironic/drivers copying ironic/drivers/fake_hardware.py -> build/lib/ironic/drivers copying ironic/drivers/drac.py -> build/lib/ironic/drivers copying ironic/drivers/irmc.py -> build/lib/ironic/drivers copying ironic/drivers/utils.py -> build/lib/ironic/drivers copying ironic/drivers/ibmc.py -> build/lib/ironic/drivers copying ironic/drivers/snmp.py -> build/lib/ironic/drivers copying ironic/drivers/__init__.py -> build/lib/ironic/drivers copying ironic/drivers/xclarity.py -> build/lib/ironic/drivers creating build/lib/ironic/conductor copying ironic/conductor/base_manager.py -> build/lib/ironic/conductor copying ironic/conductor/steps.py -> build/lib/ironic/conductor copying ironic/conductor/cleaning.py -> build/lib/ironic/conductor copying ironic/conductor/allocations.py -> build/lib/ironic/conductor copying ironic/conductor/task_manager.py -> build/lib/ironic/conductor copying ironic/conductor/deployments.py -> build/lib/ironic/conductor copying ironic/conductor/rpcapi.py -> build/lib/ironic/conductor copying ironic/conductor/notification_utils.py -> build/lib/ironic/conductor copying ironic/conductor/utils.py -> build/lib/ironic/conductor copying ironic/conductor/manager.py -> build/lib/ironic/conductor copying ironic/conductor/__init__.py -> build/lib/ironic/conductor creating 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_management.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_bios.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_vendor.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_common.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/__init__.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 creating 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/inspect.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/boot.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/common.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/vendor_passthru.py -> build/lib/ironic/drivers/modules/drac copying ironic/drivers/modules/drac/__init__.py -> build/lib/ironic/drivers/modules/drac creating 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 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/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/storage copying ironic/tests/unit/api/controllers/test_base.py -> build/lib/ironic/tests/unit/api/controllers copying ironic/tests/unit/api/controllers/__init__.py -> build/lib/ironic/tests/unit/api/controllers 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_flat.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_common.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 creating 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_raid.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_rpc_service.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_network.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/common/test_wsgi_service.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_images.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_json_rpc.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_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_rpc.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_swift.py -> 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/test_hash_ring.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_policy.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_image_service.py -> build/lib/ironic/tests/unit/common copying ironic/tests/unit/api/test_hooks.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_acl.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_audit.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_types.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_functions.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_root.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/utils.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/__init__.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_args.py -> build/lib/ironic/tests/unit/api copying ironic/tests/unit/api/test_middleware.py -> build/lib/ironic/tests/unit/api creating build/lib/ironic/api creating build/lib/ironic/api/controllers creating 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/allocation.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/types.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/chassis.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/deploy_template.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/driver.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/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/notification_utils.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/utils.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/__init__.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/volume_target.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/volume.py -> build/lib/ironic/api/controllers/v1 copying ironic/api/controllers/v1/versions.py -> build/lib/ironic/api/controllers/v1 creating 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_conductor.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_port.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_node.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_volume_target.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_volume_connector.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_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/utils.py -> build/lib/ironic/tests/unit/objects copying ironic/tests/unit/objects/test_deployment.py -> 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_fields.py -> build/lib/ironic/tests/unit/objects 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/base.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/version.py -> build/lib/ironic/api/controllers copying ironic/api/controllers/__init__.py -> build/lib/ironic/api/controllers creating 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/base.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 copying ironic/tests/unit/drivers/modules/intel_ipmi/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/intel_ipmi copying ironic/api/types.py -> build/lib/ironic/api copying ironic/api/args.py -> build/lib/ironic/api copying ironic/api/wsgi.py -> build/lib/ironic/api copying ironic/api/expose.py -> build/lib/ironic/api copying ironic/api/functions.py -> build/lib/ironic/api copying ironic/api/config.py -> build/lib/ironic/api copying ironic/api/hooks.py -> build/lib/ironic/api copying ironic/api/app.py -> build/lib/ironic/api copying ironic/api/method.py -> build/lib/ironic/api copying ironic/api/__init__.py -> build/lib/ironic/api creating 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 copying ironic/tests/unit/drivers/modules/ansible/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ansible creating build/lib/ironic/tests/functional copying ironic/tests/functional/__init__.py -> build/lib/ironic/tests/functional copying ironic/drivers/modules/inspector.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/iscsi_deploy.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/pxe_base.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent_client.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ipxe.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/ipmitool.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/console_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent_base.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/noop_mgmt.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent_power.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/boot_mode_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/fake.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/agent.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/deploy_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/snmp.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/image_utils.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/__init__.py -> build/lib/ironic/drivers/modules copying ironic/drivers/modules/noop.py -> build/lib/ironic/drivers/modules copying ironic/tests/base.py -> build/lib/ironic/tests copying ironic/tests/__init__.py -> build/lib/ironic/tests creating 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 copying ironic/api/middleware/auth_public_routes.py -> build/lib/ironic/api/middleware copying ironic/api/middleware/__init__.py -> build/lib/ironic/api/middleware creating build/lib/ironic/drivers/modules/intel_ipmi copying ironic/drivers/modules/intel_ipmi/management.py -> build/lib/ironic/drivers/modules/intel_ipmi copying ironic/drivers/modules/intel_ipmi/__init__.py -> build/lib/ironic/drivers/modules/intel_ipmi copying ironic/tests/unit/raid_constants.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/policy_fixture.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/test_base.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/stubs.py -> build/lib/ironic/tests/unit copying ironic/tests/unit/__init__.py -> build/lib/ironic/tests/unit creating 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_raid.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_vendor.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/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/ibmc creating 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/test_periodic_task.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_boot.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_inspect.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/utils.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/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/drac creating build/lib/ironic/db copying ironic/db/api.py -> build/lib/ironic/db copying ironic/db/__init__.py -> build/lib/ironic/db copying ironic/db/migration.py -> build/lib/ironic/db creating 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 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_management.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_bios.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_common.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/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/irmc creating build/lib/ironic/tests/unit/conf copying ironic/tests/unit/conf/test_auth.py -> build/lib/ironic/tests/unit/conf copying ironic/tests/unit/conf/__init__.py -> build/lib/ironic/tests/unit/conf creating 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 copying ironic/cmd/api.py -> build/lib/ironic/cmd copying ironic/cmd/__init__.py -> build/lib/ironic/cmd creating build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/power.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/common.py -> build/lib/ironic/drivers/modules/xclarity copying ironic/drivers/modules/xclarity/__init__.py -> build/lib/ironic/drivers/modules/xclarity 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/__init__.py -> build/lib/ironic/drivers/modules/network copying ironic/drivers/modules/network/noop.py -> build/lib/ironic/drivers/modules/network creating build/lib/ironic/common creating build/lib/ironic/common/glance_service copying ironic/common/glance_service/service_utils.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/__init__.py -> build/lib/ironic/common/glance_service creating build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/external.py -> build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/__init__.py -> build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/noop.py -> build/lib/ironic/drivers/modules/storage copying ironic/drivers/modules/storage/cinder.py -> build/lib/ironic/drivers/modules/storage 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_generic.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_fake_hardware.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/third_party_driver_mocks.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_redfish.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_xclarity.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_drac.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/__init__.py -> build/lib/ironic/tests/unit/drivers copying ironic/tests/unit/drivers/test_ipmi.py -> build/lib/ironic/tests/unit/drivers creating 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_conductor.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_node_traits.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/base.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_bios_settings.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_ports.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_chassis.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/utils.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/__init__.py -> build/lib/ironic/tests/unit/db copying ironic/tests/unit/db/test_volume_targets.py -> build/lib/ironic/tests/unit/db creating build/lib/ironic/common/json_rpc copying ironic/common/json_rpc/server.py -> 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 creating build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_utils.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_cleaning.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_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_task_manager.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_steps.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/test_deployments.py -> build/lib/ironic/tests/unit/conductor copying ironic/tests/unit/conductor/__init__.py -> build/lib/ironic/tests/unit/conductor copying ironic/version.py -> build/lib/ironic copying ironic/__init__.py -> build/lib/ironic creating 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 copying ironic/tests/unit/dhcp/__init__.py -> build/lib/ironic/tests/unit/dhcp copying ironic/tests/unit/drivers/modules/test_snmp.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_mgmt.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/test_noop.py -> build/lib/ironic/tests/unit/drivers/modules 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_inspect_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_image_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_boot_mode_utils.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_ipmitool.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_deploy_utils.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/test_agent_power.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_agent_base.py -> build/lib/ironic/tests/unit/drivers/modules copying ironic/tests/unit/drivers/modules/__init__.py -> build/lib/ironic/tests/unit/drivers/modules creating build/lib/ironic/hacking copying ironic/hacking/checks.py -> build/lib/ironic/hacking copying ironic/hacking/__init__.py -> build/lib/ironic/hacking creating build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/api.py -> build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/models.py -> build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/__init__.py -> build/lib/ironic/db/sqlalchemy copying ironic/db/sqlalchemy/migration.py -> build/lib/ironic/db/sqlalchemy creating build/lib/ironic/drivers/modules/ansible copying ironic/drivers/modules/ansible/deploy.py -> build/lib/ironic/drivers/modules/ansible copying ironic/drivers/modules/ansible/__init__.py -> build/lib/ironic/drivers/modules/ansible copying ironic/common/dhcp_factory.py -> build/lib/ironic/common copying ironic/common/keystone.py -> build/lib/ironic/common copying ironic/common/rpc.py -> build/lib/ironic/common copying ironic/common/raid.py -> build/lib/ironic/common copying ironic/common/policy.py -> build/lib/ironic/common copying ironic/common/i18n.py -> build/lib/ironic/common copying ironic/common/neutron.py -> build/lib/ironic/common copying ironic/common/images.py -> build/lib/ironic/common copying ironic/common/nova.py -> build/lib/ironic/common copying ironic/common/components.py -> build/lib/ironic/common copying ironic/common/faults.py -> build/lib/ironic/common copying ironic/common/context.py -> build/lib/ironic/common copying ironic/common/exception.py -> build/lib/ironic/common copying ironic/common/network.py -> build/lib/ironic/common copying ironic/common/wsgi_service.py -> build/lib/ironic/common copying ironic/common/config.py -> build/lib/ironic/common copying ironic/common/indicator_states.py -> build/lib/ironic/common copying ironic/common/profiler.py -> build/lib/ironic/common copying ironic/common/rpc_service.py -> build/lib/ironic/common copying ironic/common/driver_factory.py -> build/lib/ironic/common copying ironic/common/pxe_utils.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/states.py -> build/lib/ironic/common copying ironic/common/swift.py -> build/lib/ironic/common copying ironic/common/release_mappings.py -> build/lib/ironic/common copying ironic/common/utils.py -> build/lib/ironic/common copying ironic/common/service.py -> build/lib/ironic/common copying ironic/common/image_service.py -> build/lib/ironic/common copying ironic/common/__init__.py -> build/lib/ironic/common copying ironic/common/boot_modes.py -> build/lib/ironic/common copying ironic/common/boot_devices.py -> build/lib/ironic/common copying ironic/common/cinder.py -> build/lib/ironic/common creating 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/db/sqlalchemy/test_api.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_migrations.py -> build/lib/ironic/tests/unit/db/sqlalchemy copying ironic/tests/unit/db/sqlalchemy/__init__.py -> build/lib/ironic/tests/unit/db/sqlalchemy creating build/lib/ironic/dhcp copying ironic/dhcp/none.py -> build/lib/ironic/dhcp copying ironic/dhcp/neutron.py -> build/lib/ironic/dhcp copying ironic/dhcp/base.py -> build/lib/ironic/dhcp copying ironic/dhcp/__init__.py -> build/lib/ironic/dhcp creating 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 copying ironic/tests/unit/cmd/__init__.py -> build/lib/ironic/tests/unit/cmd creating build/lib/ironic/objects copying ironic/objects/volume_connector.py -> build/lib/ironic/objects copying ironic/objects/indirection.py -> build/lib/ironic/objects copying ironic/objects/allocation.py -> build/lib/ironic/objects copying ironic/objects/conductor.py -> build/lib/ironic/objects copying ironic/objects/chassis.py -> build/lib/ironic/objects copying ironic/objects/deployment.py -> build/lib/ironic/objects copying ironic/objects/base.py -> build/lib/ironic/objects copying ironic/objects/portgroup.py -> build/lib/ironic/objects copying ironic/objects/deploy_template.py -> build/lib/ironic/objects copying ironic/objects/trait.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/fields.py -> build/lib/ironic/objects copying ironic/objects/bios.py -> build/lib/ironic/objects copying ironic/objects/__init__.py -> build/lib/ironic/objects copying ironic/objects/volume_target.py -> build/lib/ironic/objects copying ironic/objects/node.py -> build/lib/ironic/objects creating 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_common.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 copying ironic/tests/unit/drivers/modules/xclarity/__init__.py -> build/lib/ironic/tests/unit/drivers/modules/xclarity 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 requirements to ironic.egg-info/requires.txt writing top-level names to ironic.egg-info/top_level.txt [pbr] Reusing existing SOURCES.txt copying ironic/drivers/raid_config_schema.json -> build/lib/ironic/drivers creating build/lib/ironic/tests/unit/drivers/modules/network/json_samples copying ironic/tests/unit/drivers/modules/network/json_samples/network_data.json -> build/lib/ironic/tests/unit/drivers/modules/network/json_samples creating build/lib/ironic/tests/unit/common/json_samples copying ironic/tests/unit/common/json_samples/neutron_network_show.json -> build/lib/ironic/tests/unit/common/json_samples copying ironic/tests/unit/common/json_samples/neutron_network_show_ipv6.json -> build/lib/ironic/tests/unit/common/json_samples copying ironic/tests/unit/common/json_samples/neutron_port_show.json -> build/lib/ironic/tests/unit/common/json_samples copying ironic/tests/unit/common/json_samples/neutron_port_show_ipv6.json -> build/lib/ironic/tests/unit/common/json_samples copying ironic/tests/unit/common/json_samples/neutron_subnet_show.json -> build/lib/ironic/tests/unit/common/json_samples copying ironic/tests/unit/common/json_samples/neutron_subnet_show_ipv6.json -> build/lib/ironic/tests/unit/common/json_samples copying ironic/api/controllers/v1/network-data-schema.json -> build/lib/ironic/api/controllers/v1 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 creating build/lib/ironic/tests/json_samples copying ironic/tests/json_samples/network_data.json -> build/lib/ironic/tests/json_samples 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 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_iso.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/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/b2ad35726bb0_add_node_lessee.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/cd2c80feb331_add_node_retired_field.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py -> build/lib/ironic/db/sqlalchemy/alembic/versions copying ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.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 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/common/grub_conf.template -> build/lib/ironic/common copying ironic/common/isolinux_config.template -> build/lib/ironic/common /usr/lib/python3.6/site-packages/pbr/core.py:131: UserWarning: Unknown distribution option: 'requires_python' warnings.warn(msg) + exit 0 Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.C2ReEp + umask 022 + cd /builddir/build/BUILD + '[' /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch '!=' / ']' + rm -rf /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch ++ dirname /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch + mkdir -p /builddir/build/BUILDROOT + mkdir /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch + cd ironic-16.0.3 ++ '[' -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-16.0.3-1.el8.noarch --prefix /usr running install [pbr] Generating AUTHORS [pbr] AUTHORS complete (0.0s) running install_lib creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6 creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/intel_ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/hardware_type.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/base.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/generic.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/fake_hardware.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/raid_config_schema.json -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/intel_ipmi copying build/lib/ironic/drivers/modules/inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe_grub_config.template -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/iscsi_deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe_base.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent_client.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/storage/external.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/storage/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/storage/noop.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage copying build/lib/ironic/drivers/modules/storage/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible copying build/lib/ironic/drivers/modules/ansible/deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/library copying build/lib/ironic/drivers/modules/ansible/playbooks/clean_steps.yaml -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/prepare/tasks creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/discover/tasks creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/defaults creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/configure/tasks creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/defaults creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/clean/tasks creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/files creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/deploy/tasks creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks/roles/shutdown/tasks copying build/lib/ironic/drivers/modules/ansible/playbooks/deploy.yaml -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/playbooks copying build/lib/ironic/drivers/modules/ansible/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/power.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/management.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/mappings.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ibmc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc copying build/lib/ironic/drivers/modules/ipxe.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/power.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/management.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/common.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/console.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/vendor.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ilo/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo copying build/lib/ironic/drivers/modules/ipmitool.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/console_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent_base.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/noop_mgmt.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/boot.ipxe -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent_power.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/pxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/boot_mode_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/fake.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/ipxe_config.template -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity copying build/lib/ironic/drivers/modules/xclarity/power.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity copying build/lib/ironic/drivers/modules/xclarity/management.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity copying build/lib/ironic/drivers/modules/xclarity/common.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity copying build/lib/ironic/drivers/modules/xclarity/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity copying build/lib/ironic/drivers/modules/image_cache.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/master_grub_cfg.txt -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/inspect_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/power.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/management.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/common.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc copying build/lib/ironic/drivers/modules/irmc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/flat.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/common.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/network/noop.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/network copying build/lib/ironic/drivers/modules/deploy_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/power.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/management.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/redfish/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish copying build/lib/ironic/drivers/modules/image_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/power.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/inspect.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/boot.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/job.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/management.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/common.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/drac/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac copying build/lib/ironic/drivers/modules/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/noop.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/modules/agent_config.template -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules copying build/lib/ironic/drivers/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers copying build/lib/ironic/drivers/xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/event.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/types.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/network-data-schema.json -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/collection.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/driver.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/port.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/ramdisk.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/state.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/node.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/volume.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/v1/versions.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1 copying build/lib/ironic/api/controllers/link.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers copying build/lib/ironic/api/controllers/root.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers copying build/lib/ironic/api/controllers/base.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers copying build/lib/ironic/api/controllers/version.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers copying build/lib/ironic/api/controllers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers copying build/lib/ironic/api/types.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api copying build/lib/ironic/api/args.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api copying build/lib/ironic/api/wsgi.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api copying build/lib/ironic/api/expose.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api copying build/lib/ironic/api/functions.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api copying build/lib/ironic/api/config.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api copying build/lib/ironic/api/hooks.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api copying build/lib/ironic/api/app.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/middleware copying build/lib/ironic/api/middleware/json_ext.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/middleware copying build/lib/ironic/api/middleware/parsable_error.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/middleware copying build/lib/ironic/api/middleware/auth_public_routes.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/middleware copying build/lib/ironic/api/middleware/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/middleware copying build/lib/ironic/api/method.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api copying build/lib/ironic/api/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/cmd copying build/lib/ironic/cmd/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/cmd copying build/lib/ironic/cmd/dbsync.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/cmd copying build/lib/ironic/cmd/status.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/cmd copying build/lib/ironic/cmd/api.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/cmd copying build/lib/ironic/cmd/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/cmd creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/conductor/base_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/conductor/steps.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/conductor/cleaning.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/conductor/allocations.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/conductor/task_manager.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/conductor/deployments.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/conductor/rpcapi.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/conductor/notification_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/conductor/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/conductor/manager.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor copying build/lib/ironic/conductor/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/dhcp_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/keystone.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/rpc.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/raid.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/policy.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/i18n.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/images.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/nova.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/components.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/faults.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/context.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/exception.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/network.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/wsgi_service.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/config.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/indicator_states.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/profiler.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/rpc_service.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/glance_service copying build/lib/ironic/common/glance_service/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/glance_service creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/json_rpc copying build/lib/ironic/common/json_rpc/server.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/json_rpc copying build/lib/ironic/common/json_rpc/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/json_rpc copying build/lib/ironic/common/json_rpc/client.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/json_rpc copying build/lib/ironic/common/driver_factory.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/grub_conf.template -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/pxe_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/fsm.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/hash_ring.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/isolinux_config.template -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/states.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/release_mappings.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/service.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/image_service.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/boot_modes.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/boot_devices.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common copying build/lib/ironic/common/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/hacking copying build/lib/ironic/hacking/checks.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/hacking copying build/lib/ironic/hacking/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/hacking creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/ansible.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/inspector.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/json_rpc.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/database.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/pxe.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/metrics.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/glance.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/redfish.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/ilo.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/ipmi.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/nova.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/audit.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/healthcheck.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/metrics_statsd.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/drac.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/iscsi.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/default.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/dhcp.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/irmc.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/agent.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/auth.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/api.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/opts.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/swift.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/console.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/ibmc.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/service_catalog.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/xclarity.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf copying build/lib/ironic/conf/cinder.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/alembic.ini -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic copying build/lib/ironic/db/sqlalchemy/alembic/script.py.mako -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic copying build/lib/ironic/db/sqlalchemy/alembic/README -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic copying build/lib/ironic/db/sqlalchemy/alembic/env.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions copying build/lib/ironic/db/sqlalchemy/api.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/models.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/sqlalchemy/migration.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy copying build/lib/ironic/db/api.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db copying build/lib/ironic/db/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db copying build/lib/ironic/db/migration.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db copying build/lib/ironic/version.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/volume_connector.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/indirection.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/allocation.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/conductor.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/chassis.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/deployment.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/base.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/portgroup.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/deploy_template.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/trait.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/notification.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/port.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/fields.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/bios.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/volume_target.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects copying build/lib/ironic/objects/node.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/none.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/neutron.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/base.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/dhcp copying build/lib/ironic/dhcp/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/dhcp creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit copying build/lib/ironic/tests/unit/raid_constants.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/boot.ipxe -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_snmp.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/intel_ipmi copying build/lib/ironic/tests/unit/drivers/modules/test_iscsi_deploy.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_image_utils.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/storage creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ansible creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc copying build/lib/ironic/tests/unit/drivers/modules/ibmc/test_raid.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc copying build/lib/ironic/tests/unit/drivers/modules/test_agent_client.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ilo copying build/lib/ironic/tests/unit/drivers/modules/test_agent.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/xclarity creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/irmc creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network/json_samples copying build/lib/ironic/tests/unit/drivers/modules/network/json_samples/network_data.json -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network/json_samples copying build/lib/ironic/tests/unit/drivers/modules/network/test_common.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/network copying build/lib/ironic/tests/unit/drivers/modules/test_agent_power.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/redfish creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/drac/test_boot.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac copying build/lib/ironic/tests/unit/drivers/modules/test_image_cache.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/modules/test_agent_base.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_volume_extra_volume.template -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/ipxe_config_boot_from_iso.template -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers copying build/lib/ironic/tests/unit/drivers/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/api creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers/v1 copying build/lib/ironic/tests/unit/api/controllers/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/api/controllers copying build/lib/ironic/tests/unit/api/test_hooks.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_types.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/base.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_functions.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/api/test_args.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/api copying build/lib/ironic/tests/unit/policy_fixture.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd copying build/lib/ironic/tests/unit/cmd/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd copying build/lib/ironic/tests/unit/test_base.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_cleaning.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/test_deployments.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/conductor/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor copying build/lib/ironic/tests/unit/stubs.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/common creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/common/json_samples copying build/lib/ironic/tests/unit/common/json_samples/neutron_subnet_show_ipv6.json -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/common/json_samples copying build/lib/ironic/tests/unit/common/json_samples/neutron_network_show_ipv6.json -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/common/json_samples copying build/lib/ironic/tests/unit/common/json_samples/neutron_network_show.json -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/common/json_samples copying build/lib/ironic/tests/unit/common/json_samples/neutron_port_show.json -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/common/json_samples copying build/lib/ironic/tests/unit/common/json_samples/neutron_port_show_ipv6.json -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/common/json_samples copying build/lib/ironic/tests/unit/common/json_samples/neutron_subnet_show.json -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/common/json_samples copying build/lib/ironic/tests/unit/common/test_rpc.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/common copying build/lib/ironic/tests/unit/common/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/common creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/conf copying build/lib/ironic/tests/unit/conf/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/conf creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/base.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/db creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/db/sqlalchemy copying build/lib/ironic/tests/unit/db/test_volume_connectors.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/db copying build/lib/ironic/tests/unit/db/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/db creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/utils.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/test_deployment.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/objects copying build/lib/ironic/tests/unit/objects/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/objects creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/dhcp copying build/lib/ironic/tests/unit/dhcp/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/dhcp copying build/lib/ironic/tests/unit/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit copying build/lib/ironic/tests/base.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/functional copying build/lib/ironic/tests/functional/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/functional creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/json_samples copying build/lib/ironic/tests/json_samples/network_data.json -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/json_samples copying build/lib/ironic/tests/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests copying build/lib/ironic/__init__.py -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/redfish.py to redfish.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/ilo.py to ilo.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/ipmi.py to ipmi.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/intel_ipmi.py to intel_ipmi.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/hardware_type.py to hardware_type.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/base.py to base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/generic.py to generic.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/fake_hardware.py to fake_hardware.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/drac.py to drac.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/irmc.py to irmc.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/inspector.py to inspector.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/pxe.py to pxe.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage/external.py to external.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage/noop.py to noop.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/storage/cinder.py to cinder.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/deploy.py to deploy.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ansible/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc/power.py to power.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc/raid.py to raid.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc/management.py to management.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc/mappings.py to mappings.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc/vendor.py to vendor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ibmc/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ipxe.py to ipxe.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/power.py to power.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/raid.py to raid.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/inspect.py to inspect.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/boot.py to boot.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/management.py to management.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/common.py to common.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/bios.py to bios.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/console.py to console.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/vendor.py to vendor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ilo/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/ipmitool.py to ipmitool.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/agent_base.py to agent_base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/agent_power.py to agent_power.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/fake.py to fake.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/agent.py to agent.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity/power.py to power.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity/management.py to management.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity/common.py to common.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/xclarity/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/power.py to power.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/raid.py to raid.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/inspect.py to inspect.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/boot.py to boot.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/management.py to management.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/common.py to common.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/bios.py to bios.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/irmc/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/network/neutron.py to neutron.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/network/flat.py to flat.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/network/common.py to common.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/network/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/network/noop.py to noop.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/snmp.py to snmp.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/power.py to power.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/inspect.py to inspect.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/boot.py to boot.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/management.py to management.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/bios.py to bios.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/redfish/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/image_utils.py to image_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/power.py to power.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/raid.py to raid.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/inspect.py to inspect.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/boot.py to boot.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/job.py to job.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/management.py to management.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/common.py to common.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/bios.py to bios.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/drac/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/modules/noop.py to noop.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/ibmc.py to ibmc.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/snmp.py to snmp.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/drivers/xclarity.py to xclarity.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/allocation.py to allocation.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/event.py to event.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/types.py to types.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/conductor.py to conductor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/chassis.py to chassis.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/portgroup.py to portgroup.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/collection.py to collection.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/driver.py to driver.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/port.py to port.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/ramdisk.py to ramdisk.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/state.py to state.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/bios.py to bios.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/node.py to node.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/volume.py to volume.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/v1/versions.py to versions.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/link.py to link.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/root.py to root.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/base.py to base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/version.py to version.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/controllers/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/types.py to types.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/args.py to args.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/wsgi.py to wsgi.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/expose.py to expose.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/functions.py to functions.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/config.py to config.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/hooks.py to hooks.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/app.py to app.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/middleware/auth_public_routes.py to auth_public_routes.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/middleware/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/method.py to method.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/api/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/cmd/conductor.py to conductor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/cmd/dbsync.py to dbsync.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/cmd/status.py to status.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/cmd/api.py to api.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/cmd/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor/base_manager.py to base_manager.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor/steps.py to steps.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor/cleaning.py to cleaning.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor/allocations.py to allocations.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor/task_manager.py to task_manager.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor/deployments.py to deployments.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor/rpcapi.py to rpcapi.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor/notification_utils.py to notification_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor/manager.py to manager.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conductor/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/dhcp_factory.py to dhcp_factory.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/keystone.py to keystone.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/rpc.py to rpc.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/raid.py to raid.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/policy.py to policy.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/i18n.py to i18n.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/neutron.py to neutron.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/images.py to images.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/nova.py to nova.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/components.py to components.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/faults.py to faults.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/context.py to context.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/exception.py to exception.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/network.py to network.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/wsgi_service.py to wsgi_service.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/config.py to config.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/indicator_states.py to indicator_states.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/profiler.py to profiler.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/rpc_service.py to rpc_service.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/glance_service/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/json_rpc/server.py to server.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/json_rpc/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/json_rpc/client.py to client.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/driver_factory.py to driver_factory.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/pxe_utils.py to pxe_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/fsm.py to fsm.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/hash_ring.py to hash_ring.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/states.py to states.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/swift.py to swift.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/release_mappings.py to release_mappings.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/service.py to service.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/image_service.py to image_service.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/boot_modes.py to boot_modes.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/boot_devices.py to boot_devices.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/common/cinder.py to cinder.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/hacking/checks.py to checks.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/hacking/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/ansible.py to ansible.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/inspector.py to inspector.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/json_rpc.py to json_rpc.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/database.py to database.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/pxe.py to pxe.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/metrics.py to metrics.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/glance.py to glance.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/redfish.py to redfish.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/ilo.py to ilo.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/ipmi.py to ipmi.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/neutron.py to neutron.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/conductor.py to conductor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/nova.py to nova.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/audit.py to audit.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/healthcheck.py to healthcheck.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/metrics_statsd.py to metrics_statsd.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/drac.py to drac.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/iscsi.py to iscsi.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/default.py to default.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/deploy.py to deploy.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/dhcp.py to dhcp.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/irmc.py to irmc.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/agent.py to agent.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/auth.py to auth.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/api.py to api.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/opts.py to opts.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/swift.py to swift.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/console.py to console.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/ibmc.py to ibmc.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/service_catalog.py to service_catalog.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/snmp.py to snmp.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/xclarity.py to xclarity.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/conf/cinder.py to cinder.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/env.py to env.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/cf1a80fdb352_add_node_network_data_field.py to cf1a80fdb352_add_node_network_data_field.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/ce6c4b3cf5a2_add_allocation_owner.py to ce6c4b3cf5a2_add_allocation_owner.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/b2ad35726bb0_add_node_lessee.py to b2ad35726bb0_add_node_lessee.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/alembic/versions/cd2c80feb331_add_node_retired_field.py to cd2c80feb331_add_node_retired_field.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/api.py to api.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/models.py to models.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/sqlalchemy/migration.py to migration.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/api.py to api.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/db/migration.py to migration.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/version.py to version.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects/volume_connector.py to volume_connector.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects/indirection.py to indirection.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects/allocation.py to allocation.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects/conductor.py to conductor.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects/chassis.py to chassis.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects/deployment.py to deployment.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects/base.py to base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects/portgroup.py to portgroup.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects/deploy_template.py to deploy_template.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects/trait.py to trait.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects/notification.py to notification.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects/port.py to port.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects/fields.py to fields.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects/bios.py to bios.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects/volume_target.py to volume_target.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/objects/node.py to node.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/dhcp/none.py to none.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/dhcp/neutron.py to neutron.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/dhcp/base.py to base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/dhcp/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_image_utils.py to test_image_utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/ibmc/test_raid.py to test_raid.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_agent_power.py to test_agent_power.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/drac/test_boot.py to test_boot.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/modules/test_agent_base.py to test_agent_base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/drivers/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_types.py to test_types.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/api/base.py to base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_functions.py to test_functions.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/api/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/api/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/api/test_args.py to test_args.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/cmd/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_cleaning.py to test_cleaning.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/test_deployments.py to test_deployments.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/conductor/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/stubs.py to stubs.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/common/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/conf/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/db/base.py to base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/db/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/db/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/utils.py to utils.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/test_deployment.py to test_deployment.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/objects/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/dhcp/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/unit/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/base.py to base.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/functional/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/tests/__init__.py to __init__.cpython-36.pyc byte-compiling /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic/__init__.py to __init__.cpython-36.pyc writing byte-compilation script '/tmp/tmpd346zc25.py' /usr/bin/python3 /tmp/tmpd346zc25.py removing /tmp/tmpd346zc25.py running install_data creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/etc creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/etc/ironic copying etc/ironic/rootwrap.conf -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/etc/ironic creating /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/etc/ironic/rootwrap.d copying etc/ironic/rootwrap.d/ironic-utils.filters -> /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/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 requirements to ironic.egg-info/requires.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-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic-16.0.3-py3.6.egg-info running install_scripts Installing ironic-api script to /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/bin Installing ironic-conductor script to /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/bin Installing ironic-dbsync script to /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/bin Installing ironic-rootwrap script to /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/bin Installing ironic-status script to /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/bin Installing ironic-api-wsgi script to /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/bin /usr/lib/python3.6/site-packages/pbr/core.py:131: UserWarning: Unknown distribution option: 'requires_python' warnings.warn(msg) /usr/lib/python3.6/site-packages/pbr/packaging.py:436: EasyInstallDeprecationWarning: Use get_header header = easy_install.get_script_header("", executable) + install -p -D -m 644 /builddir/build/SOURCES/ironic.logrotate /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/etc/logrotate.d/openstack-ironic + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-api.service /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/systemd/system + install -p -D -m 644 /builddir/build/SOURCES/openstack-ironic-conductor.service /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/systemd/system + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/etc/sudoers.d + install -p -D -m 440 /builddir/build/SOURCES/ironic-rootwrap-sudoers /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/etc/sudoers.d/ironic + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/var/lib/ironic/ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/var/log/ironic/ + mkdir -p /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/etc/ironic/rootwrap.d + export PYTHONPATH=. + PYTHONPATH=. + oslo-config-generator --config-file tools/config/ironic-config-generator.conf --output-file /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch//etc/ironic/ironic.conf + oslopolicy-sample-generator --config-file tools/policy/ironic-policy-generator.conf --output-file /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch//etc/ironic/policy.json + mv /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/etc/ironic/rootwrap.conf /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch//etc/ironic/rootwrap.conf + mv /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/etc/ironic/rootwrap.d/ironic-utils.filters /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch//etc/ironic/rootwrap.d/ + rmdir /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/etc/ironic/rootwrap.d + rmdir /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/etc/ironic + install -p -D -m 640 /builddir/build/SOURCES/ironic-dist.conf /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch//usr/share/ironic/ironic-dist.conf + /usr/lib/rpm/find-debuginfo.sh -j20 --strict-build-id -m -i --build-id-seed 16.0.3-1.el8 --unique-debug-suffix -16.0.3-1.el8.noarch --unique-debug-src-base openstack-ironic-16.0.3-1.el8.noarch --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/ironic-16.0.3 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-16.0.3-1.el8.noarch/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-16.0.3-1.el8.noarch/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.IppvkS + umask 022 + cd /builddir/build/BUILD + cd ironic-16.0.3 + PYTHON=/usr/bin/python3 + stestr run 2021-01-19 06:02:13.326 3826 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2021-01-19 06:02:13.332 3824 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2021-01-19 06:02:13.368 3833 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2021-01-19 06:02:13.377 3834 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2021-01-19 06:02:13.389 3822 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2021-01-19 06:02:13.394 3837 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2021-01-19 06:02:13.404 3829 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2021-01-19 06:02:13.422 3825 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2021-01-19 06:02:13.419 3823 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2021-01-19 06:02:13.413 3831 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2021-01-19 06:02:13.427 3830 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2021-01-19 06:02:13.453 3827 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2021-01-19 06:02:13.454 3836 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2021-01-19 06:02:13.462 3828 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2021-01-19 06:02:13.465 3832 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2021-01-19 06:02:13.473 3835 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2021-01-19 06:02:13.475 3838 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2021-01-19 06:02:13.504 3841 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2021-01-19 06:02:13.443 3840 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2021-01-19 06:02:13.564 3839 INFO oslo_utils.netutils [-] Could not determine default network interface, using 127.0.0.1 for IPv4 address 2021-01-19 06:02:14.087 3826 INFO keyring.backend [-] Loading KWallet 2021-01-19 06:02:14.090 3826 INFO keyring.backend [-] Loading SecretService 2021-01-19 06:02:14.099 3826 INFO keyring.backend [-] Loading Windows 2021-01-19 06:02:14.100 3826 INFO keyring.backend [-] Loading chainer 2021-01-19 06:02:14.102 3826 INFO keyring.backend [-] Loading macOS 2021-01-19 06:02:14.107 3824 INFO keyring.backend [-] Loading KWallet 2021-01-19 06:02:14.111 3824 INFO keyring.backend [-] Loading SecretService 2021-01-19 06:02:14.119 3824 INFO keyring.backend [-] Loading Windows 2021-01-19 06:02:14.121 3824 INFO keyring.backend [-] Loading chainer 2021-01-19 06:02:14.122 3824 INFO keyring.backend [-] Loading macOS 2021-01-19 06:02:14.141 3833 INFO keyring.backend [-] Loading KWallet 2021-01-19 06:02:14.144 3833 INFO keyring.backend [-] Loading SecretService 2021-01-19 06:02:14.152 3833 INFO keyring.backend [-] Loading Windows 2021-01-19 06:02:14.154 3833 INFO keyring.backend [-] Loading chainer 2021-01-19 06:02:14.154 3833 INFO keyring.backend [-] Loading macOS 2021-01-19 06:02:14.149 3834 INFO keyring.backend [-] Loading KWallet 2021-01-19 06:02:14.152 3834 INFO keyring.backend [-] Loading SecretService 2021-01-19 06:02:14.160 3834 INFO keyring.backend [-] Loading Windows 2021-01-19 06:02:14.161 3834 INFO keyring.backend [-] Loading chainer 2021-01-19 06:02:14.162 3834 INFO keyring.backend [-] Loading macOS 2021-01-19 06:02:14.174 3837 INFO keyring.backend [-] Loading KWallet 2021-01-19 06:02:14.177 3837 INFO keyring.backend [-] Loading SecretService 2021-01-19 06:02:14.173 3829 INFO keyring.backend [-] Loading KWallet 2021-01-19 06:02:14.176 3829 INFO keyring.backend [-] Loading SecretService 2021-01-19 06:02:14.184 3829 INFO keyring.backend [-] Loading Windows 2021-01-19 06:02:14.185 3829 INFO keyring.backend [-] Loading chainer 2021-01-19 06:02:14.185 3829 INFO keyring.backend [-] Loading macOS 2021-01-19 06:02:14.213 3840 INFO keyring.backend [-] Loading KWallet 2021-01-19 06:02:14.216 3840 INFO keyring.backend [-] Loading SecretService 2021-01-19 06:02:14.224 3840 INFO keyring.backend [-] Loading Windows 2021-01-19 06:02:14.225 3840 INFO keyring.backend [-] Loading chainer 2021-01-19 06:02:14.226 3840 INFO keyring.backend [-] Loading macOS 2021-01-19 06:02:14.173 3822 INFO keyring.backend [-] Loading KWallet 2021-01-19 06:02:14.176 3822 INFO keyring.backend [-] Loading SecretService 2021-01-19 06:02:14.184 3822 INFO keyring.backend [-] Loading Windows 2021-01-19 06:02:14.185 3822 INFO keyring.backend [-] Loading chainer 2021-01-19 06:02:14.186 3822 INFO keyring.backend [-] Loading macOS 2021-01-19 06:02:14.238 3827 INFO keyring.backend [-] Loading KWallet 2021-01-19 06:02:14.241 3827 INFO keyring.backend [-] Loading SecretService 2021-01-19 06:02:14.249 3827 INFO keyring.backend [-] Loading Windows 2021-01-19 06:02:14.250 3827 INFO keyring.backend [-] Loading chainer 2021-01-19 06:02:14.251 3827 INFO keyring.backend [-] Loading macOS 2021-01-19 06:02:14.186 3831 INFO keyring.backend [-] Loading KWallet 2021-01-19 06:02:14.189 3831 INFO keyring.backend [-] Loading SecretService 2021-01-19 06:02:14.197 3831 INFO keyring.backend [-] Loading Windows 2021-01-19 06:02:14.198 3831 INFO keyring.backend [-] Loading chainer 2021-01-19 06:02:14.199 3831 INFO keyring.backend [-] Loading macOS 2021-01-19 06:02:14.185 3837 INFO keyring.backend [-] Loading Windows 2021-01-19 06:02:14.186 3837 INFO keyring.backend [-] Loading chainer 2021-01-19 06:02:14.187 3837 INFO keyring.backend [-] Loading macOS 2021-01-19 06:02:14.223 3830 INFO keyring.backend [-] Loading KWallet 2021-01-19 06:02:14.225 3830 INFO keyring.backend [-] Loading SecretService 2021-01-19 06:02:14.234 3830 INFO keyring.backend [-] Loading Windows 2021-01-19 06:02:14.235 3830 INFO keyring.backend [-] Loading chainer 2021-01-19 06:02:14.236 3830 INFO keyring.backend [-] Loading macOS 2021-01-19 06:02:14.218 3836 INFO keyring.backend [-] Loading KWallet 2021-01-19 06:02:14.221 3836 INFO keyring.backend [-] Loading SecretService 2021-01-19 06:02:14.229 3836 INFO keyring.backend [-] Loading Windows 2021-01-19 06:02:14.230 3836 INFO keyring.backend [-] Loading chainer 2021-01-19 06:02:14.230 3836 INFO keyring.backend [-] Loading macOS 2021-01-19 06:02:14.220 3825 INFO keyring.backend [-] Loading KWallet 2021-01-19 06:02:14.223 3825 INFO keyring.backend [-] Loading SecretService 2021-01-19 06:02:14.231 3825 INFO keyring.backend [-] Loading Windows 2021-01-19 06:02:14.232 3825 INFO keyring.backend [-] Loading chainer 2021-01-19 06:02:14.233 3825 INFO keyring.backend [-] Loading macOS 2021-01-19 06:02:14.193 3823 INFO keyring.backend [-] Loading KWallet 2021-01-19 06:02:14.196 3823 INFO keyring.backend [-] Loading SecretService 2021-01-19 06:02:14.242 3832 INFO keyring.backend [-] Loading KWallet 2021-01-19 06:02:14.245 3832 INFO keyring.backend [-] Loading SecretService 2021-01-19 06:02:14.253 3832 INFO keyring.backend [-] Loading Windows 2021-01-19 06:02:14.254 3832 INFO keyring.backend [-] Loading chainer 2021-01-19 06:02:14.255 3832 INFO keyring.backend [-] Loading macOS 2021-01-19 06:02:14.250 3838 INFO keyring.backend [-] Loading KWallet 2021-01-19 06:02:14.253 3838 INFO keyring.backend [-] Loading SecretService 2021-01-19 06:02:14.261 3838 INFO keyring.backend [-] Loading Windows 2021-01-19 06:02:14.262 3838 INFO keyring.backend [-] Loading chainer 2021-01-19 06:02:14.262 3838 INFO keyring.backend [-] Loading macOS 2021-01-19 06:02:14.204 3823 INFO keyring.backend [-] Loading Windows 2021-01-19 06:02:14.205 3823 INFO keyring.backend [-] Loading chainer 2021-01-19 06:02:14.205 3823 INFO keyring.backend [-] Loading macOS 2021-01-19 06:02:14.251 3828 INFO keyring.backend [-] Loading KWallet 2021-01-19 06:02:14.254 3828 INFO keyring.backend [-] Loading SecretService 2021-01-19 06:02:14.263 3828 INFO keyring.backend [-] Loading Windows 2021-01-19 06:02:14.264 3828 INFO keyring.backend [-] Loading chainer 2021-01-19 06:02:14.264 3828 INFO keyring.backend [-] Loading macOS 2021-01-19 06:02:14.316 3841 INFO keyring.backend [-] Loading KWallet 2021-01-19 06:02:14.319 3841 INFO keyring.backend [-] Loading SecretService 2021-01-19 06:02:14.327 3841 INFO keyring.backend [-] Loading Windows 2021-01-19 06:02:14.328 3841 INFO keyring.backend [-] Loading chainer 2021-01-19 06:02:14.329 3841 INFO keyring.backend [-] Loading macOS 2021-01-19 06:02:14.339 3835 INFO keyring.backend [-] Loading KWallet 2021-01-19 06:02:14.342 3835 INFO keyring.backend [-] Loading SecretService 2021-01-19 06:02:14.350 3835 INFO keyring.backend [-] Loading Windows 2021-01-19 06:02:14.351 3835 INFO keyring.backend [-] Loading chainer 2021-01-19 06:02:14.351 3835 INFO keyring.backend [-] Loading macOS 2021-01-19 06:02:14.344 3839 INFO keyring.backend [-] Loading KWallet 2021-01-19 06:02:14.347 3839 INFO keyring.backend [-] Loading SecretService 2021-01-19 06:02:14.355 3839 INFO keyring.backend [-] Loading Windows 2021-01-19 06:02:14.356 3839 INFO keyring.backend [-] Loading chainer 2021-01-19 06:02:14.356 3839 INFO keyring.backend [-] Loading macOS INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> cf1a80fdb352 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> cf1a80fdb352 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> cf1a80fdb352 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> cf1a80fdb352 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> cf1a80fdb352 INFO [alembic.runtime.migration] Running stamp_revision -> cf1a80fdb352 INFO [alembic.runtime.migration] Running stamp_revision -> cf1a80fdb352 INFO [alembic.runtime.migration] Running stamp_revision -> cf1a80fdb352 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> cf1a80fdb352 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> cf1a80fdb352 INFO [alembic.runtime.migration] Running stamp_revision -> cf1a80fdb352 INFO [alembic.runtime.migration] Running stamp_revision -> cf1a80fdb352 INFO [alembic.runtime.migration] Running stamp_revision -> cf1a80fdb352 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> cf1a80fdb352 INFO [alembic.runtime.migration] Running stamp_revision -> cf1a80fdb352 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> cf1a80fdb352 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> cf1a80fdb352 INFO [alembic.runtime.migration] Running stamp_revision -> cf1a80fdb352 INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Running stamp_revision -> cf1a80fdb352 INFO [alembic.runtime.migration] Running stamp_revision -> cf1a80fdb352 2021-01-19 06:02:16.402 3824 INFO alembic.runtime.migration [req-bd3185e0-5054-421d-9dd6-b459f479933c - - - - -] Context impl SQLiteImpl. 2021-01-19 06:02:16.404 3824 INFO alembic.runtime.migration [req-bd3185e0-5054-421d-9dd6-b459f479933c - - - - -] Will assume non-transactional DDL. {2} ironic.tests.unit.api.controllers.test_base.TestVersion.test_greaterthan [0.201528s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json_in_name [0.091770s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_non_existent_property_fail [0.035095s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_ok [0.048971s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_link [0.034547s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_patch_nodes_subresource [0.033330s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_uuid [0.028857s] ... ok 2021-01-19 06:02:16.354 3826 INFO alembic.runtime.migration [req-720635cf-7ff0-4161-b995-9105a872a928 - - - - -] Context impl SQLiteImpl. 2021-01-19 06:02:16.356 3826 INFO alembic.runtime.migration [req-720635cf-7ff0-4161-b995-9105a872a928 - - - - -] Will assume non-transactional DDL. {4} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_node_locked [0.276546s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_name [0.072500s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_not_found [0.031398s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid [0.041408s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_steps [0.031782s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_non_existent_step_fail [0.038384s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_foo [0.026827s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_unsupported_api_version [0.023648s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_ramdisk_api_policy [0.016396s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource [0.042440s] ... ok 2021-01-19 06:02:16.482 3823 INFO alembic.runtime.migration [req-5ba926f4-4df2-4c96-ad8c-79a19d90e4f1 - - - - -] Context impl SQLiteImpl. 2021-01-19 06:02:16.484 3823 INFO alembic.runtime.migration [req-5ba926f4-4df2-4c96-ad8c-79a19d90e4f1 - - - - -] Will assume non-transactional DDL. {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_pagination_no_uuid [0.243918s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_custom_fields [0.045801s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_allowed [0.045120s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_nodes_subresource [0.032976s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_api_version [0.031136s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list [0.040669s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_one [0.044335s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_root_non_existent [0.036507s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_too_high_index_step_fail [0.040410s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_complex_step_args [0.031722s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name [0.026200s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_get [0.041908s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version [0.026947s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_multiple_events [0.024223s] ... ok 2021-01-19 06:02:16.492 3828 INFO alembic.runtime.migration [req-6e92a314-4dfd-4970-8b3d-9a7eb74580b0 - - - - -] Context impl SQLiteImpl. 2021-01-19 06:02:16.494 3828 INFO alembic.runtime.migration [req-6e92a314-4dfd-4970-8b3d-9a7eb74580b0 - - - - -] Will assume non-transactional DDL. {6} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one [0.229640s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_many [0.078490s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_multi [0.051872s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_name_with_none [0.052367s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_owner [0.047092s] ... ok 2021-01-19 06:02:16.423 3829 INFO alembic.runtime.migration [req-71460cc9-9082-471e-b216-d7e95d279ed4 - - - - -] Context impl SQLiteImpl. 2021-01-19 06:02:16.425 3829 INFO alembic.runtime.migration [req-71460cc9-9082-471e-b216-d7e95d279ed4 - - - - -] Will assume non-transactional DDL. {7} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_latest [0.165038s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version_without_check [0.053632s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill [0.078376s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_candidate_node_format [0.029715s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_name_invalid [0.027070s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_traits [0.045371s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_not_found [0.028995s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail [0.032688s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links [0.059086s] ... ok 2021-01-19 06:02:16.492 3832 INFO alembic.runtime.migration [req-f6ee2ee5-f53a-4fd7-b551-35982f2cdcf2 - - - - -] Context impl SQLiteImpl. 2021-01-19 06:02:16.494 3832 INFO alembic.runtime.migration [req-f6ee2ee5-f53a-4fd7-b551-35982f2cdcf2 - - - - -] Will assume non-transactional DDL. {10} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_present [0.230179s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_custom_fields [0.066329s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_state [0.047108s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_multi [0.054890s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_singular [0.052559s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_node_not_found [0.033703s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_against_single [0.030346s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_and_fields [0.032328s] ... ok 2021-01-19 06:02:16.541 3830 INFO alembic.runtime.migration [req-687161e7-33a0-4013-b19f-4643b40d5d5f - - - - -] Context impl SQLiteImpl. 2021-01-19 06:02:16.543 3830 INFO alembic.runtime.migration [req-687161e7-33a0-4013-b19f-4643b40d5d5f - - - - -] Will assume non-transactional DDL. {8} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_id [0.239284s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node [0.050824s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_invalid_api_version [0.023553s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_json [0.046288s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_one [0.045808s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_owner_not_acceptable [0.035567s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_with_mismatch_owner [0.029832s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_empty [0.031711s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_custom_fields [0.061756s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_name [0.031395s] ... ok 2021-01-19 06:02:16.576 3835 INFO alembic.runtime.migration [req-5366dd32-75c4-4e11-a8b1-d0cb6b31e6f0 - - - - -] Context impl SQLiteImpl. 2021-01-19 06:02:16.578 3835 INFO alembic.runtime.migration [req-5366dd32-75c4-4e11-a8b1-d0cb6b31e6f0 - - - - -] Will assume non-transactional DDL. {13} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_not_existed [0.223704s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_hidden_in_lower_version [0.069296s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_custom_fields_invalid_fields [0.046678s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_singular [0.053592s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_copy_instance_uuid [0.070085s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_api_version [0.015858s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_default_limit [0.041613s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_many [0.043477s] ... ok 2021-01-19 06:02:16.447 3831 INFO alembic.runtime.migration [req-c00013ce-76ee-4700-b85a-599721547b5b - - - - -] Context impl SQLiteImpl. 2021-01-19 06:02:16.449 3831 INFO alembic.runtime.migration [req-c00013ce-76ee-4700-b85a-599721547b5b - - - - -] Will assume non-transactional DDL. {9} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_node [0.233955s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner_not_allowed [0.033646s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource [0.058708s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add [0.037716s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_not_found [0.029946s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_error [0.031481s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_generate_uuid [0.047248s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner_not_allowed [0.030133s] ... ok GET: /v1/allocations?fields=node_uuid&limit=2 {} GOT:{'allocations': [{'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/allocations/17297e47-ca9e-4e58-a82c-d4cb9a5de230', 'rel': 'self'}, {'href': 'http://localhost/allocations/17297e47-ca9e-4e58-a82c-d4cb9a5de230', 'rel': 'bookmark'}]}, {'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/allocations/d0669be7-2c56-4cec-8476-fe88496c631b', 'rel': 'self'}, {'href': 'http://localhost/allocations/d0669be7-2c56-4cec-8476-fe88496c631b', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&fields=node_uuid&limit=2&marker=d0669be7-2c56-4cec-8476-fe88496c631b'} GET: /v1/allocations/f2a64df1-e319-446d-89e8-311532c730ac?fields=resource_class,extra {} GOT:{'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/f2a64df1-e319-446d-89e8-311532c730ac', 'rel': 'self'}, {'href': 'http://localhost/allocations/f2a64df1-e319-446d-89e8-311532c730ac', 'rel': 'bookmark'}], 'resource_class': 'baremetal'} GET: /v1/allocations?sort_key=name {} GOT:{'allocations': [{'uuid': '9b4774b7-6061-4c0a-8db6-27bf9a2c6311', 'extra': {}, 'node_uuid': None, 'name': 'allocation1', 'links': [{'href': 'http://localhost/v1/allocations/9b4774b7-6061-4c0a-8db6-27bf9a2c6311', 'rel': 'self'}, {'href': 'http://localhost/allocations/9b4774b7-6061-4c0a-8db6-27bf9a2c6311', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.699673+00:00', 'updated_at': None}, {'uuid': 'b7d4c878-7d48-4e52-adbf-638b1b05b931', 'extra': {}, 'node_uuid': None, 'name': 'allocation2', 'links': [{'href': 'http://localhost/v1/allocations/b7d4c878-7d48-4e52-adbf-638b1b05b931', 'rel': 'self'}, {'href': 'http://localhost/allocations/b7d4c878-7d48-4e52-adbf-638b1b05b931', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.697952+00:00', 'updated_at': None}, {'uuid': '96660e12-9612-4e9d-8d64-e0da879d402f', 'extra': {}, 'node_uuid': None, 'name': 'allocation3', 'links': [{'href': 'http://localhost/v1/allocations/96660e12-9612-4e9d-8d64-e0da879d402f', 'rel': 'self'}, {'href': 'http://localhost/allocations/96660e12-9612-4e9d-8d64-e0da879d402f', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.696113+00:00', 'updated_at': None}]} DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b4a31de1-5b67-4c71-9086-d37bd4ec5876 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-92842589-e207-4f96-a295-dd6a1a9f2b4b X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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/deploy_templates {} GOT:{'deploy_templates': [{'uuid': '75ade1ac-af14-4382-aa29-63b7a4295ee8', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/75ade1ac-af14-4382-aa29-63b7a4295ee8', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/75ade1ac-af14-4382-aa29-63b7a4295ee8', 'rel': 'bookmark'}]}]} PATCH: /v1/deploy_templates/df07183c-a006-4dda-bd43-fff0edf61ff9 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f6f440c5-ef5a-49b1-a5aa-7214800f74fa X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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/1b6581c1-64f9-4018-8141-5ad6386766b3 [{'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-322efa07-8209-4912-9ce2-ccdc6ca47853 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '9a5be06a-5638-44bb-9c48-e3c2ed4fbfc3', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': [{'bar': 'baz'}]}, 'priority': 10}], 'extra': {}} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/deploy_templates/9a5be06a-5638-44bb-9c48-e3c2ed4fbfc3 Openstack-Request-Id: req-d155c283-af55-4505-9abd-cfc814a81bbb X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "9a5be06a-5638-44bb-9c48-e3c2ed4fbfc3", "name": "CUSTOM_DT1", "steps": [{"interface": "raid", "step": "create_configuration", "args": {"foo": [{"bar": "baz"}]}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/9a5be06a-5638-44bb-9c48-e3c2ed4fbfc3", "rel": "self"}, {"href": "http://localhost/deploy_templates/9a5be06a-5638-44bb-9c48-e3c2ed4fbfc3", "rel": "bookmark"}], "extra": {}, "created_at": "2021-01-19T06:02:16.977129+00:00", "updated_at": null} POST: /v1/deploy_templates {'name': 42, 'uuid': '282e8b4c-bbc1-492b-83c3-9956bd1c53b1', '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-187434f3-9e70-448a-bbd1-c96444c1d8f7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute name. Value: '42'. Wrong type. Expected '', got ''\", \"debuginfo\": null}"} GET: /v1/drivers/fake-hardware-type/vendor_passthru/do_test {} GOT:foo GET: /v1/drivers?detail=True {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-10176313-6185-47ba-8ae3-8116caf160fb X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} POST: /v1/events {'events': [{'event': 'valid.event1'}, {'event': 'valid.event2'}, {'event': 'valid.event3'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-a7374a72-a4b9-4ee3-a5da-b39c3473adb3 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 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'}]}{1} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_mac_address [0.024569s] ... ok 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\"}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '81ab5db5-283d-49e7-abd2-2ebd9a67c170', 'owner': None, 'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/81ab5db5-283d-49e7-abd2-2ebd9a67c170 Openstack-Request-Id: req-3dbc3b58-8914-4f6e-8b06-b13225baa855 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "81ab5db5-283d-49e7-abd2-2ebd9a67c170", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/allocations/81ab5db5-283d-49e7-abd2-2ebd9a67c170", "rel": "self"}, {"href": "http://localhost/allocations/81ab5db5-283d-49e7-abd2-2ebd9a67c170", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": null, "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.587994+00:00", "updated_at": null} GET: /v1/allocations/81ab5db5-283d-49e7-abd2-2ebd9a67c170 {} GOT:{'uuid': '81ab5db5-283d-49e7-abd2-2ebd9a67c170', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/81ab5db5-283d-49e7-abd2-2ebd9a67c170', 'rel': 'self'}, {'href': 'http://localhost/allocations/81ab5db5-283d-49e7-abd2-2ebd9a67c170', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.587994+00:00', 'updated_at': None} POST: /v1/allocations {'candidate_nodes': ['invalid-format'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '7f284317-9bd7-4300-afdc-44ce7cef3789', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-044a1340-e694-45b3-830f-d70e1894a706 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': '536f45c0-a4af-48a2-8a77-89017cf6dbd8', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7d75b9d5-29f9-4a32-970b-ecfe425968df X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create allocation with invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'CUSTOM_FOO_BAR'], 'uuid': 'bc6c9a9e-8c04-4e2c-a63a-782533cc72a3', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/bc6c9a9e-8c04-4e2c-a63a-782533cc72a3 Openstack-Request-Id: req-9adddb75-9858-4f39-8eb8-84c2b77405a1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "bc6c9a9e-8c04-4e2c-a63a-782533cc72a3", "extra": {}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/bc6c9a9e-8c04-4e2c-a63a-782533cc72a3", "rel": "self"}, {"href": "http://localhost/allocations/bc6c9a9e-8c04-4e2c-a63a-782533cc72a3", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": null, "candidate_nodes": [], "traits": ["CUSTOM_GPU", "CUSTOM_FOO_BAR"], "created_at": "2021-01-19T06:02:16.705143+00:00", "updated_at": null} GET: /v1/allocations/bc6c9a9e-8c04-4e2c-a63a-782533cc72a3 {} GOT:{'uuid': 'bc6c9a9e-8c04-4e2c-a63a-782533cc72a3', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/bc6c9a9e-8c04-4e2c-a63a-782533cc72a3', 'rel': 'self'}, {'href': 'http://localhost/allocations/bc6c9a9e-8c04-4e2c-a63a-782533cc72a3', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': ['CUSTOM_GPU', 'CUSTOM_FOO_BAR'], 'created_at': '2021-01-19T06:02:16.705143+00:00', 'updated_at': None} DELETE: /v1/chassis/003397ad-dc23-4403-a89e-a88dacd6a04e GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-50f0adc2-73c5-418b-a688-aa18a2281e7d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis 003397ad-dc23-4403-a89e-a88dacd6a04e could not be found.\", \"debuginfo\": null}"} 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': '2021-01-19T06:02:16.765700+00:00'}]} GET: /v1/chassis/6025c47e-6450-4746-9cfe-891a12a2a05a {} GOT:{'uuid': '6025c47e-6450-4746-9cfe-891a12a2a05a', 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/6025c47e-6450-4746-9cfe-891a12a2a05a', 'rel': 'self'}, {'href': 'http://localhost/chassis/6025c47e-6450-4746-9cfe-891a12a2a05a', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/6025c47e-6450-4746-9cfe-891a12a2a05a/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/6025c47e-6450-4746-9cfe-891a12a2a05a/nodes', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2021-01-19T06:02:16.797951+00:00'} GET: /v1/chassis/6025c47e-6450-4746-9cfe-891a12a2a05a {} GOT:{'uuid': '6025c47e-6450-4746-9cfe-891a12a2a05a', 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/6025c47e-6450-4746-9cfe-891a12a2a05a', 'rel': 'self'}, {'href': 'http://localhost/chassis/6025c47e-6450-4746-9cfe-891a12a2a05a', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/6025c47e-6450-4746-9cfe-891a12a2a05a/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/6025c47e-6450-4746-9cfe-891a12a2a05a/nodes', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2021-01-19T06:02:16.797951+00:00'} GET: /chassis/6025c47e-6450-4746-9cfe-891a12a2a05a {} GOT:{'uuid': '6025c47e-6450-4746-9cfe-891a12a2a05a', 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/6025c47e-6450-4746-9cfe-891a12a2a05a', 'rel': 'self'}, {'href': 'http://localhost/chassis/6025c47e-6450-4746-9cfe-891a12a2a05a', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/6025c47e-6450-4746-9cfe-891a12a2a05a/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/6025c47e-6450-4746-9cfe-891a12a2a05a/nodes', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2021-01-19T06:02:16.797951+00:00'} GET: /v1/conductors?sort_key=hostname {} GOT:{'conductors': [{'hostname': '0a271a50-34a3-42f1-9de3-99b6175b03de', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/0a271a50-34a3-42f1-9de3-99b6175b03de', 'rel': 'self'}, {'href': 'http://localhost/conductors/0a271a50-34a3-42f1-9de3-99b6175b03de', 'rel': 'bookmark'}]}, {'hostname': '15204fe4-ba3f-4077-bcf3-2684ac251642', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/15204fe4-ba3f-4077-bcf3-2684ac251642', 'rel': 'self'}, {'href': 'http://localhost/conductors/15204fe4-ba3f-4077-bcf3-2684ac251642', 'rel': 'bookmark'}]}, {'hostname': '1739529e-730a-4b34-a396-1dd8f3b0c6c8', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/1739529e-730a-4b34-a396-1dd8f3b0c6c8', 'rel': 'self'}, {'href': 'http://localhost/conductors/1739529e-730a-4b34-a396-1dd8f3b0c6c8', 'rel': 'bookmark'}]}, {'hostname': '6485e3c8-5303-4f89-91d4-159c4020b363', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/6485e3c8-5303-4f89-91d4-159c4020b363', 'rel': 'self'}, {'href': 'http://localhost/conductors/6485e3c8-5303-4f89-91d4-159c4020b363', 'rel': 'bookmark'}]}, {'hostname': 'a29e3b5f-9bd3-4bad-8079-e7c60d96ac06', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/a29e3b5f-9bd3-4bad-8079-e7c60d96ac06', 'rel': 'self'}, {'href': 'http://localhost/conductors/a29e3b5f-9bd3-4bad-8079-e7c60d96ac06', 'rel': 'bookmark'}]}]}GET: /v1/allocations/b21d5c1c-1b16-43bc-a674-db87d961fcdb {} GOT:{'uuid': 'b21d5c1c-1b16-43bc-a674-db87d961fcdb', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'pg.json', 'links': [{'href': 'http://localhost/v1/allocations/b21d5c1c-1b16-43bc-a674-db87d961fcdb', 'rel': 'self'}, {'href': 'http://localhost/allocations/b21d5c1c-1b16-43bc-a674-db87d961fcdb', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.525125+00:00', 'updated_at': None} PATCH: /v1/allocations/b9f2a69c-5136-45d6-9da1-8f71163f266c [{'path': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a66727f6-85b6-4e85-9c02-c479eb11256c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': 'foo', 'resource_class': 'baremetal', 'traits': [], 'uuid': '8fe9699b-fd8b-4ef3-998e-4c8d4b90977c', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/8fe9699b-fd8b-4ef3-998e-4c8d4b90977c Openstack-Request-Id: req-52331d90-76a1-4854-94b1-c3b021f850f4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "8fe9699b-fd8b-4ef3-998e-4c8d4b90977c", "extra": {}, "node_uuid": null, "name": "foo", "links": [{"href": "http://localhost/v1/allocations/8fe9699b-fd8b-4ef3-998e-4c8d4b90977c", "rel": "self"}, {"href": "http://localhost/allocations/8fe9699b-fd8b-4ef3-998e-4c8d4b90977c", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": null, "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.629222+00:00", "updated_at": null} GET: /v1/allocations/8fe9699b-fd8b-4ef3-998e-4c8d4b90977c {} GOT:{'uuid': '8fe9699b-fd8b-4ef3-998e-4c8d4b90977c', 'extra': {}, 'node_uuid': None, 'name': 'foo', 'links': [{'href': 'http://localhost/v1/allocations/8fe9699b-fd8b-4ef3-998e-4c8d4b90977c', 'rel': 'self'}, {'href': 'http://localhost/allocations/8fe9699b-fd8b-4ef3-998e-4c8d4b90977c', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.629222+00:00', 'updated_at': None} 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': '2021-01-19T06:02:16.661104+00:00'} 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-d9f8b5a2-950d-4947-b941-f5b10b18155e X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c78fae4a-6022-4e75-858d-092cdc4c7549 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/17078fe8-b609-478c-8161-06a027595044 [{'path': '/extra/a', 'value': 'b', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-82a7f58c-0550-4515-905b-9f88b94b4bbb X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Chassis 17078fe8-b609-478c-8161-06a027595044 could not be found.\", \"debuginfo\": null}"} DELETE: /v1/deploy_templates/9e341d2c-10e1-4bea-91db-aad114568fa1 GOT:Response: 204 No Content Openstack-Request-Id: req-09fd6aab-e5a7-4352-a8a9-6482dac03d5e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 PATCH: /v1/deploy_templates/89471604-6673-4d00-8065-78fbc70f300a [{'path': '/steps', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3f048b54-5038-45e1-a395-23c49fc0f0bf X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/steps' is a mandatory attribute and can not be removed\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/1b6ec75f-958a-474e-9f91-4f44cf572b46 [{'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-fac5733d-35ae-4ce1-a50d-62a002c8bdf5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '3d2e86a4-0f1a-4d9e-91db-54d812683b58', '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-3f14efba-d49a-455e-a342-829b6a0acf2b X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unknown attribute for argument template: foo\", \"debuginfo\": null}"} POST: /v1/events {'events': [{'event': 'valid.event'}]} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-56738506-696e-44b8-89c2-2a68c67713fc X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-e8596ba0-6a66-491b-be63-fde0f5d88bb2 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} 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}{8} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_multi [0.042605s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_collection_custom_fields [0.062666s] ... ok GET: /v1/allocations/6a35e359-dfd9-43c0-a724-aaef4daa6624 {} GOT:{'uuid': '6a35e359-dfd9-43c0-a724-aaef4daa6624', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/6a35e359-dfd9-43c0-a724-aaef4daa6624', 'rel': 'self'}, {'href': 'http://localhost/allocations/6a35e359-dfd9-43c0-a724-aaef4daa6624', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.592439+00:00', 'updated_at': None} GET: /v1/allocations {} GOT:{'allocations': [{'uuid': 'f0c68657-8555-4748-8c88-18f44f23eb0c', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation0', 'links': [{'href': 'http://localhost/v1/allocations/f0c68657-8555-4748-8c88-18f44f23eb0c', 'rel': 'self'}, {'href': 'http://localhost/allocations/f0c68657-8555-4748-8c88-18f44f23eb0c', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.645290+00:00', 'updated_at': None}, {'uuid': 'bea85543-8876-4d31-9ea1-68973a24bede', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation1', 'links': [{'href': 'http://localhost/v1/allocations/bea85543-8876-4d31-9ea1-68973a24bede', 'rel': 'self'}, {'href': 'http://localhost/allocations/bea85543-8876-4d31-9ea1-68973a24bede', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.647089+00:00', 'updated_at': None}, {'uuid': '7ae7a0f7-8cf2-45cd-ada5-552f9ac7005d', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation2', 'links': [{'href': 'http://localhost/v1/allocations/7ae7a0f7-8cf2-45cd-ada5-552f9ac7005d', 'rel': 'self'}, {'href': 'http://localhost/allocations/7ae7a0f7-8cf2-45cd-ada5-552f9ac7005d', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.648819+00:00', 'updated_at': None}, {'uuid': '75db13f2-48f7-4f06-8ab2-4c80af87ff59', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation3', 'links': [{'href': 'http://localhost/v1/allocations/75db13f2-48f7-4f06-8ab2-4c80af87ff59', 'rel': 'self'}, {'href': 'http://localhost/allocations/75db13f2-48f7-4f06-8ab2-4c80af87ff59', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.650583+00:00', 'updated_at': None}, {'uuid': '66af4580-f2ef-41ab-bb5a-4a44719dd872', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation4', 'links': [{'href': 'http://localhost/v1/allocations/66af4580-f2ef-41ab-bb5a-4a44719dd872', 'rel': 'self'}, {'href': 'http://localhost/allocations/66af4580-f2ef-41ab-bb5a-4a44719dd872', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.652284+00:00', 'updated_at': None}]} PATCH: /v1/allocations/1cf83b34-f3d9-474f-8d0b-720b9b377207 [{'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-01f45847-b25a-4067-ad31-1953adecc1b5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "1cf83b34-f3d9-474f-8d0b-720b9b377207", "extra": {"foo1": "bar1", "foo2": "bar2"}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/1cf83b34-f3d9-474f-8d0b-720b9b377207", "rel": "self"}, {"href": "http://localhost/allocations/1cf83b34-f3d9-474f-8d0b-720b9b377207", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": null, "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.719355+00:00", "updated_at": "2021-01-19T06:02:16.740995+00:00"} GET: /v1/allocations/1cf83b34-f3d9-474f-8d0b-720b9b377207 {} GOT:{'uuid': '1cf83b34-f3d9-474f-8d0b-720b9b377207', 'extra': {'foo1': 'bar1', 'foo2': 'bar2'}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/1cf83b34-f3d9-474f-8d0b-720b9b377207', 'rel': 'self'}, {'href': 'http://localhost/allocations/1cf83b34-f3d9-474f-8d0b-720b9b377207', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.719355+00:00', 'updated_at': '2021-01-19T06:02:16.740995+00:00'} PATCH: /v1/allocations/f9c8e6f1-7309-4d79-975a-46a93a506266 [{'path': '/name', 'value': None, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1ee30e79-b140-4545-9fdf-152a84609909 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "f9c8e6f1-7309-4d79-975a-46a93a506266", "extra": {}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/f9c8e6f1-7309-4d79-975a-46a93a506266", "rel": "self"}, {"href": "http://localhost/allocations/f9c8e6f1-7309-4d79-975a-46a93a506266", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": null, "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.771434+00:00", "updated_at": null} GET: /v1/allocations/f9c8e6f1-7309-4d79-975a-46a93a506266 {} GOT:{'uuid': 'f9c8e6f1-7309-4d79-975a-46a93a506266', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/f9c8e6f1-7309-4d79-975a-46a93a506266', 'rel': 'self'}, {'href': 'http://localhost/allocations/f9c8e6f1-7309-4d79-975a-46a93a506266', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.771434+00:00', 'updated_at': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '934765a1-fc1e-47da-9852-6d5f53cf75f3', 'owner': '12345'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/934765a1-fc1e-47da-9852-6d5f53cf75f3 Openstack-Request-Id: req-47bbcb0f-cb15-4853-bd77-2441e40f3dd2 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "934765a1-fc1e-47da-9852-6d5f53cf75f3", "extra": {}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/934765a1-fc1e-47da-9852-6d5f53cf75f3", "rel": "self"}, {"href": "http://localhost/allocations/934765a1-fc1e-47da-9852-6d5f53cf75f3", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": "12345", "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.839575+00:00", "updated_at": null} GET: /v1/allocations/934765a1-fc1e-47da-9852-6d5f53cf75f3 {} GOT:{'uuid': '934765a1-fc1e-47da-9852-6d5f53cf75f3', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/934765a1-fc1e-47da-9852-6d5f53cf75f3', 'rel': 'self'}, {'href': 'http://localhost/allocations/934765a1-fc1e-47da-9852-6d5f53cf75f3', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': '12345', 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.839575+00:00', 'updated_at': None} 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'}]}{6} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one_custom_fields [0.034887s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key [0.050244s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields [0.048169s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field [0.048681s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_provision_state [0.034362s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_chassis_api_policy [0.034094s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_links [0.084817s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_chassis_not_found [0.033844s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_and_fields [0.034605s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_with_json [0.037213s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query_false [0.050326s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_portgroup_api_policy [0.039201s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields [0.047026s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_custom_fields [0.045313s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_all_invalid_api_version [0.018451s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_priority [0.026996s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_expose.TestJsonRenderer.test_render_none [0.006429s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource [0.116883s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_description [0.064650s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_invalid_api_version [0.018555s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_name_already_exist [0.041432s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_invalid_vif_id [0.040720s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_non_existent_property_fail [0.032240s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_standard_trait [0.036192s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_fail [0.039077s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_update_error [0.036762s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_key [0.010309s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_only_step_fail [0.035601s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create [0.047322s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_unsupported [0.032404s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args1 [0.026204s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode [0.035860s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_not_supported [0.049549s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_args2 [0.026632s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_interface_fields [0.095650s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_long_name [0.036668s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many [0.090094s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface2 [0.026375s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_too_long [0.026325s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_step [0.029720s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_steps [0.026097s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbid_project_mismatch [0.030934s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_detail_bad_version_false [0.026635s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_args [0.027620s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_dynamic [0.042401s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_invalid_event [0.023840s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_locked [0.035377s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_expose.TestJsonRenderer.test_render_datetime [0.006297s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource_no_port_id [0.036645s] ... ok 2021-01-19 06:02:16.556 3836 INFO alembic.runtime.migration [req-cbec1c99-0614-4d62-b5bb-d34f601a8de0 - - - - -] Context impl SQLiteImpl. 2021-01-19 06:02:16.558 3836 INFO alembic.runtime.migration [req-cbec1c99-0614-4d62-b5bb-d34f601a8de0 - - - - -] Will assume non-transactional DDL. {14} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key_invalid [0.247679s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_by_name [0.050393s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class_detail [0.054029s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_older_version [0.049172s] ... ok 2021-01-19 06:02:16.446 3837 INFO alembic.runtime.migration [req-19be4352-22d6-4854-bcee-1863916d93d4 - - - - -] Context impl SQLiteImpl. 2021-01-19 06:02:16.448 3837 INFO alembic.runtime.migration [req-19be4352-22d6-4854-bcee-1863916d93d4 - - - - -] Will assume non-transactional DDL. {15} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation [0.228806s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one [0.036600s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_property_fail [0.043734s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_none [0.036141s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_steps [0.026780s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links_public_url [0.072239s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_driver_api_policy [0.027578s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_with_bad_version [0.040628s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_doesnt_contain_id [0.045122s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name [0.043558s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_custom_fields [0.038056s] ... ok 2021-01-19 06:02:16.460 3840 INFO alembic.runtime.migration [req-ddb51801-5d30-449d-9933-3d4f08ec4bad - - - - -] Context impl SQLiteImpl. 2021-01-19 06:02:16.462 3840 INFO alembic.runtime.migration [req-ddb51801-5d30-449d-9933-3d4f08ec4bad - - - - -] Will assume non-transactional DDL. {15} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_nodes_subresource_no_uuid [0.031687s] ... ok {18} ironic.tests.unit.api.controllers.test_base.TestBase.test_bad_uri [0.163531s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links [0.086780s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_multi [0.052480s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version_without_check [0.058309s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root [0.034568s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbid_owner_proj_mismatch [0.034362s] ... ok 2021-01-19 06:02:16.446 3822 INFO alembic.runtime.migration [req-290a87c9-8647-4769-a89d-f6455298f98e - - - - -] Context impl SQLiteImpl. 2021-01-19 06:02:16.448 3822 INFO alembic.runtime.migration [req-290a87c9-8647-4769-a89d-f6455298f98e - - - - -] Will assume non-transactional DDL. {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_by_node_not_allowed [0.214131s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links_default_limit [0.047473s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_node_uuid_not_allowed [0.034881s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_node_uuid [0.058624s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis_with_node [0.050719s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_false_and_fields [0.036139s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDeployTemplateObject.test_deploy_template_sample [0.006590s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_non_existing_node [0.040877s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_non_existent_step_property_fail [0.041790s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_uuid [0.029112s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name_old_api_version [0.019288s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_replace_invalid_name [0.032783s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cached [0.045730s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_allowed [0.029251s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_owner [0.044647s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_properties_hidden_in_lower_version [0.044269s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_status [0.024586s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_conductor_api_policy [0.019952s] ... ok 2021-01-19 06:02:16.589 3839 INFO alembic.runtime.migration [req-5530a7c2-064e-49c5-a2a5-766b67744265 - - - - -] Context impl SQLiteImpl. 2021-01-19 06:02:16.591 3839 INFO alembic.runtime.migration [req-5530a7c2-064e-49c5-a2a5-766b67744265 - - - - -] Will assume non-transactional DDL. {17} ironic.tests.unit.api.controllers.test_base.TestBase.test_api_setup [0.158980s] ... ok {17} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_ok [0.012184s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_owner_null_field [0.088519s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_resource_not_existed [0.024255s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach [0.038645s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_interface_value_invalid [0.009537s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_collection_links [0.050166s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_step_value [0.008082s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_associated [0.041991s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_and_id [0.032616s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information [0.050656s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_invalid_api_version [0.029983s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_description_field [0.048402s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_iface_not_supported [0.048056s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_not_found [0.033044s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_not_allowed [0.033201s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_no_mandatory_field_resource_class [0.027639s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_chassis.TestChassisObject.test_chassis_init [0.006252s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links_custom_fields [0.040936s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_one [0.032998s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_singular [0.052377s] ... ok 2021-01-19 06:02:16.436 3834 INFO alembic.runtime.migration [req-d820bea3-f09f-457a-80e1-84e2441236b7 - - - - -] Context impl SQLiteImpl. 2021-01-19 06:02:16.438 3834 INFO alembic.runtime.migration [req-d820bea3-f09f-457a-80e1-84e2441236b7 - - - - -] Will assume non-transactional DDL. {12} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_headers_bad_length [0.169435s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_invalid_api_version [0.057208s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_invalid_api_version [0.022538s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_empty [0.037852s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_valid_extra [0.045246s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_candidate_nodes [0.059486s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_using_query_old_version [0.030070s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_links_public_url [0.058123s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_multi [0.050447s] ... ok DELETE: /v1/allocations/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a2ee4d44-aa1b-4984-93df-d2414e34aa64 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation blah could not be found.\", \"debuginfo\": null}"} GET: /v1/allocations/e6672ab8-ebdf-4857-9955-73f34c2f0382 {} GOT:{'uuid': 'e6672ab8-ebdf-4857-9955-73f34c2f0382', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/e6672ab8-ebdf-4857-9955-73f34c2f0382', 'rel': 'self'}, {'href': 'http://localhost/allocations/e6672ab8-ebdf-4857-9955-73f34c2f0382', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.722483+00:00', 'updated_at': None} GET: /v1/allocations/e6672ab8-ebdf-4857-9955-73f34c2f0382 {} GOT:{'uuid': 'e6672ab8-ebdf-4857-9955-73f34c2f0382', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/e6672ab8-ebdf-4857-9955-73f34c2f0382', 'rel': 'self'}, {'href': 'http://localhost/allocations/e6672ab8-ebdf-4857-9955-73f34c2f0382', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.722483+00:00', 'updated_at': None} GET: /v1/allocations/d690d625-d9de-4dfc-995b-f40573a68c1a?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-188792d3-1e33-4975-852c-7a31316a3d74 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} PATCH: /v1/allocations/54d93f65-cd41-4f2d-b082-debeb3fc1645 [{'path': '/extra/a', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d32d0593-555b-442c-9fe9-1e0c90820d86 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "54d93f65-cd41-4f2d-b082-debeb3fc1645", "extra": {}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/54d93f65-cd41-4f2d-b082-debeb3fc1645", "rel": "self"}, {"href": "http://localhost/allocations/54d93f65-cd41-4f2d-b082-debeb3fc1645", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": null, "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.836200+00:00", "updated_at": "2021-01-19T06:02:16.857379+00:00"} GET: /v1/allocations/54d93f65-cd41-4f2d-b082-debeb3fc1645 {} GOT:{'uuid': '54d93f65-cd41-4f2d-b082-debeb3fc1645', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/54d93f65-cd41-4f2d-b082-debeb3fc1645', 'rel': 'self'}, {'href': 'http://localhost/allocations/54d93f65-cd41-4f2d-b082-debeb3fc1645', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.836200+00:00', 'updated_at': '2021-01-19T06:02:16.857379+00:00'} POST: /v1/allocations {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/fbcdbd2d-c58b-4b72-9807-1a8838f6ef91 Openstack-Request-Id: req-9bb04352-878b-4d21-8dc3-be8c9656fcae X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "fbcdbd2d-c58b-4b72-9807-1a8838f6ef91", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/allocations/fbcdbd2d-c58b-4b72-9807-1a8838f6ef91", "rel": "self"}, {"href": "http://localhost/allocations/fbcdbd2d-c58b-4b72-9807-1a8838f6ef91", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "bm-super", "owner": null, "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.915975+00:00", "updated_at": null} GET: /v1/allocations/fbcdbd2d-c58b-4b72-9807-1a8838f6ef91 {} GOT:{'uuid': 'fbcdbd2d-c58b-4b72-9807-1a8838f6ef91', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/fbcdbd2d-c58b-4b72-9807-1a8838f6ef91', 'rel': 'self'}, {'href': 'http://localhost/allocations/fbcdbd2d-c58b-4b72-9807-1a8838f6ef91', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'bm-super', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.915975+00:00', 'updated_at': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'dc2f86af-5f5b-4dc0-a2ff-e0679590813d', 'owner': None} 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/chassis {} GOT:{'chassis': [{'uuid': '73c856bd-f8ae-4ba0-aefb-cbe7c5f8989d', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/73c856bd-f8ae-4ba0-aefb-cbe7c5f8989d', 'rel': 'self'}, {'href': 'http://localhost/chassis/73c856bd-f8ae-4ba0-aefb-cbe7c5f8989d', 'rel': 'bookmark'}]}, {'uuid': '65fa6eba-2632-4452-b261-1f946f1b6074', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/65fa6eba-2632-4452-b261-1f946f1b6074', 'rel': 'self'}, {'href': 'http://localhost/chassis/65fa6eba-2632-4452-b261-1f946f1b6074', 'rel': 'bookmark'}]}, {'uuid': '6c5ef2a6-e942-4499-869c-07aa737b1f81', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/6c5ef2a6-e942-4499-869c-07aa737b1f81', 'rel': 'self'}, {'href': 'http://localhost/chassis/6c5ef2a6-e942-4499-869c-07aa737b1f81', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=6c5ef2a6-e942-4499-869c-07aa737b1f81'} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': '1f4cbb53-58b8-4b3e-bb04-fe9135b80290', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/1f4cbb53-58b8-4b3e-bb04-fe9135b80290', 'rel': 'self'}, {'href': 'http://localhost/chassis/1f4cbb53-58b8-4b3e-bb04-fe9135b80290', 'rel': 'bookmark'}]}, {'uuid': '11effaee-eb93-478b-aa3f-1e13a77571e8', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/11effaee-eb93-478b-aa3f-1e13a77571e8', 'rel': 'self'}, {'href': 'http://localhost/chassis/11effaee-eb93-478b-aa3f-1e13a77571e8', 'rel': 'bookmark'}]}, {'uuid': '824081ef-b06a-4bc6-b68c-bd73616a607c', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/824081ef-b06a-4bc6-b68c-bd73616a607c', 'rel': 'self'}, {'href': 'http://localhost/chassis/824081ef-b06a-4bc6-b68c-bd73616a607c', 'rel': 'bookmark'}]}, {'uuid': 'd3f22f3c-0e90-42d2-83e6-2dc598b18ea2', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/d3f22f3c-0e90-42d2-83e6-2dc598b18ea2', 'rel': 'self'}, {'href': 'http://localhost/chassis/d3f22f3c-0e90-42d2-83e6-2dc598b18ea2', 'rel': 'bookmark'}]}, {'uuid': '7b0e782b-1504-4f92-b23a-ab002ed8a4fc', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/7b0e782b-1504-4f92-b23a-ab002ed8a4fc', 'rel': 'self'}, {'href': 'http://localhost/chassis/7b0e782b-1504-4f92-b23a-ab002ed8a4fc', 'rel': 'bookmark'}]}]} GET: /v1/chassis?sort_key=uuid {} GOT:{'chassis': [{'uuid': '43cd9d0e-6587-47e8-8139-0d447d62c48f', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/43cd9d0e-6587-47e8-8139-0d447d62c48f', 'rel': 'self'}, {'href': 'http://localhost/chassis/43cd9d0e-6587-47e8-8139-0d447d62c48f', 'rel': 'bookmark'}]}, {'uuid': 'b9edef10-6061-4b88-915f-e5b02a7418d5', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/b9edef10-6061-4b88-915f-e5b02a7418d5', 'rel': 'self'}, {'href': 'http://localhost/chassis/b9edef10-6061-4b88-915f-e5b02a7418d5', 'rel': 'bookmark'}]}, {'uuid': 'cdfbfaef-8291-419e-9734-4ff43394b59c', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/cdfbfaef-8291-419e-9734-4ff43394b59c', 'rel': 'self'}, {'href': 'http://localhost/chassis/cdfbfaef-8291-419e-9734-4ff43394b59c', 'rel': 'bookmark'}]}]}{13} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key [0.037396s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis [0.044560s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_post_nodes_subresource [0.035252s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_default_limit [0.045982s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name [0.040783s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_method_not_found [0.029351s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_methods [0.054905s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_expose.TestJsonRenderer.test_complex_type [0.006414s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid_old [0.037479s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_false_and_fields [0.060053s] ... ok 2021-01-19 06:02:16.476 3825 INFO alembic.runtime.migration [req-486a12c2-1bf9-4d08-8d23-8c1fa6a139f3 - - - - -] Context impl SQLiteImpl. 2021-01-19 06:02:16.478 3825 INFO alembic.runtime.migration [req-486a12c2-1bf9-4d08-8d23-8c1fa6a139f3 - - - - -] Will assume non-transactional DDL. {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_lessthan [0.159971s] ... ok {3} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr [0.012477s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_invalid_api_version [0.064779s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden_no_project [0.036254s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_non_admin [0.052316s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_one_with_suffix [0.051184s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_owner_field [0.044371s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_sort_key [0.059901s] ... ok 2021-01-19 06:02:16.517 3838 INFO alembic.runtime.migration [req-6fb5521b-e329-454e-b6d7-309c5d105108 - - - - -] Context impl SQLiteImpl. 2021-01-19 06:02:16.519 3838 INFO alembic.runtime.migration [req-6fb5521b-e329-454e-b6d7-309c5d105108 - - - - -] Will assume non-transactional DDL. {16} ironic.tests.unit.api.controllers.test_base.TestVersion.test_init [0.159295s] ... ok {16} ironic.tests.unit.api.controllers.test_base.TestVersion.test_parse_no_header [0.012355s] ... ok {16} ironic.tests.unit.api.controllers.test_base.TestVersion.test_repr_with_strings [0.012681s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_allocation.TestAllocationObject.test_allocation_init [0.006667s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_by_node_invalid_node [0.052497s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_all_by_owner [0.051696s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_sort_key_invalid [0.038810s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_empty_steps [0.026911s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_no_active_conductor [0.034433s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_classic [0.038246s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events_does_not_contain_event [0.023944s] ... ok GET: /v1/allocations/236a8401-c1d4-4c29-8d4c-6e80b8c25e11 {} GOT:{'uuid': '236a8401-c1d4-4c29-8d4c-6e80b8c25e11', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/236a8401-c1d4-4c29-8d4c-6e80b8c25e11', 'rel': 'self'}, {'href': 'http://localhost/allocations/236a8401-c1d4-4c29-8d4c-6e80b8c25e11', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': '12345', 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.592901+00:00', 'updated_at': None} GET: /v1/allocations?fields=uuid,extra {} GOT:{'allocations': [{'uuid': 'd98e6a13-7593-4ab4-8d04-1f25ecd8c6fd', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/d98e6a13-7593-4ab4-8d04-1f25ecd8c6fd', 'rel': 'self'}, {'href': 'http://localhost/allocations/d98e6a13-7593-4ab4-8d04-1f25ecd8c6fd', 'rel': 'bookmark'}]}, {'uuid': '8ca559fb-4c4e-4449-9392-dca45661b7c6', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/8ca559fb-4c4e-4449-9392-dca45661b7c6', 'rel': 'self'}, {'href': 'http://localhost/allocations/8ca559fb-4c4e-4449-9392-dca45661b7c6', 'rel': 'bookmark'}]}, {'uuid': '7463a1a4-541c-4bd2-b1a4-3a48c51faf57', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/7463a1a4-541c-4bd2-b1a4-3a48c51faf57', 'rel': 'self'}, {'href': 'http://localhost/allocations/7463a1a4-541c-4bd2-b1a4-3a48c51faf57', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=7463a1a4-541c-4bd2-b1a4-3a48c51faf57'} GET: /v1/allocations?state=allocating {} GOT:{'allocations': [{'uuid': 'd74caeac-76ce-4ccf-8b2d-05baa826d389', 'extra': {}, 'node_uuid': None, 'name': 'allocation0', 'links': [{'href': 'http://localhost/v1/allocations/d74caeac-76ce-4ccf-8b2d-05baa826d389', 'rel': 'self'}, {'href': 'http://localhost/allocations/d74caeac-76ce-4ccf-8b2d-05baa826d389', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.714021+00:00', 'updated_at': None}, {'uuid': '5747c748-2641-4557-84d1-70c4941b8dd1', 'extra': {}, 'node_uuid': None, 'name': 'allocation1', 'links': [{'href': 'http://localhost/v1/allocations/5747c748-2641-4557-84d1-70c4941b8dd1', 'rel': 'self'}, {'href': 'http://localhost/allocations/5747c748-2641-4557-84d1-70c4941b8dd1', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.715871+00:00', 'updated_at': None}, {'uuid': '5cd4df9a-649a-405f-81f3-3e7390f969bb', 'extra': {}, 'node_uuid': None, 'name': 'allocation2', 'links': [{'href': 'http://localhost/v1/allocations/5cd4df9a-649a-405f-81f3-3e7390f969bb', 'rel': 'self'}, {'href': 'http://localhost/allocations/5cd4df9a-649a-405f-81f3-3e7390f969bb', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.717598+00:00', 'updated_at': None}]} PATCH: /v1/allocations/a3dc65f4-3690-4a75-b388-0c9d9316c2ac [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c2673e63-7cbb-4706-ab57-ffd92354cef8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "a3dc65f4-3690-4a75-b388-0c9d9316c2ac", "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/a3dc65f4-3690-4a75-b388-0c9d9316c2ac", "rel": "self"}, {"href": "http://localhost/allocations/a3dc65f4-3690-4a75-b388-0c9d9316c2ac", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": null, "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.758225+00:00", "updated_at": "2021-01-19T06:02:16.780595+00:00"} GET: /v1/allocations/a3dc65f4-3690-4a75-b388-0c9d9316c2ac {} GOT:{'uuid': 'a3dc65f4-3690-4a75-b388-0c9d9316c2ac', 'extra': {'foo1': 'bar1', 'foo2': 'new value', 'foo3': 'bar3'}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/a3dc65f4-3690-4a75-b388-0c9d9316c2ac', 'rel': 'self'}, {'href': 'http://localhost/allocations/a3dc65f4-3690-4a75-b388-0c9d9316c2ac', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.758225+00:00', 'updated_at': '2021-01-19T06:02:16.780595+00:00'} PATCH: /v1/allocations/abd40e69-0942-4d16-bc58-973252b9720d [{'path': '/name', 'value': 'test', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d0236e08-0ec1-456c-b0ac-252db1a94161 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "abd40e69-0942-4d16-bc58-973252b9720d", "extra": {}, "node_uuid": null, "name": "test", "links": [{"href": "http://localhost/v1/allocations/abd40e69-0942-4d16-bc58-973252b9720d", "rel": "self"}, {"href": "http://localhost/allocations/abd40e69-0942-4d16-bc58-973252b9720d", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": null, "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.811796+00:00", "updated_at": "2000-01-01T00:00:00+00:00"} GET: /v1/allocations/abd40e69-0942-4d16-bc58-973252b9720d {} GOT:{'uuid': 'abd40e69-0942-4d16-bc58-973252b9720d', 'extra': {}, 'node_uuid': None, 'name': 'test', 'links': [{'href': 'http://localhost/v1/allocations/abd40e69-0942-4d16-bc58-973252b9720d', 'rel': 'self'}, {'href': 'http://localhost/allocations/abd40e69-0942-4d16-bc58-973252b9720d', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.811796+00:00', 'updated_at': '2000-01-01T00:00:00+00:00'} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'e7b34728-459c-42a6-843e-0d4145accf85', 'owner': None, 'node': '419d9ad3-58e5-4e37-8406-5493181831ac'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b432ed59-f0b6-42f9-83e5-394d90729edb X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 419d9ad3-58e5-4e37-8406-5493181831ac could not be found.\", \"debuginfo\": null}"} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fe04033b-ea82-47d6-9bd6-d970c5c2c7d2 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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&fields=description {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5e7b3164-f0a8-4ee5-b44a-1fdf3067690c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} GET: /v1/chassis?fields=extra&limit=2 {} GOT:{'chassis': [{'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/e96c8029-2575-4835-b0e4-11593303e5cb', 'rel': 'self'}, {'href': 'http://localhost/chassis/e96c8029-2575-4835-b0e4-11593303e5cb', 'rel': 'bookmark'}]}, {'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/dda0dad4-91e8-4fd4-abbb-090d0b9b28e1', 'rel': 'self'}, {'href': 'http://localhost/chassis/dda0dad4-91e8-4fd4-abbb-090d0b9b28e1', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra&limit=2&marker=dda0dad4-91e8-4fd4-abbb-090d0b9b28e1'}{10} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_collection_pagination_no_uuid [0.038023s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_bind_port_events [0.024225s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_by_name_with_json [0.045720s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_collection_custom_fields [0.038732s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_invalid_api [0.027782s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query [0.043808s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_empty_step_list_fail [0.038724s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_step_interface_fail [0.039286s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_generate_uuid [0.047647s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_hw_type [0.027644s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed_storage_interface [0.099778s] ... ok 2021-01-19 06:02:16.560 3841 INFO alembic.runtime.migration [req-622ccfaf-dd22-4aa4-9763-73779abbc2b8 - - - - -] Context impl SQLiteImpl. 2021-01-19 06:02:16.562 3841 INFO alembic.runtime.migration [req-622ccfaf-dd22-4aa4-9763-73779abbc2b8 - - - - -] Will assume non-transactional DDL. {19} ironic.tests.unit.api.controllers.test_base.TestVersion.test_equals [0.160013s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_allocation_get_all_forbidden [0.067316s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_add_non_existent [0.036997s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_with_name [0.076237s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_collection_links [0.041518s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_get_custom_fields_invalid_fields [0.032565s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_add_root_non_existent [0.032477s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_query_false [0.061414s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_empty [0.035724s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_not_a_trait [0.036316s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_step_invalid_interface [0.035733s] ... ok 2021-01-19 06:02:16.522 3827 INFO alembic.runtime.migration [req-7c20107d-e0c8-43a6-9097-8288e3029c2d - - - - -] Context impl SQLiteImpl. 2021-01-19 06:02:16.524 3827 INFO alembic.runtime.migration [req-7c20107d-e0c8-43a6-9097-8288e3029c2d - - - - -] Will assume non-transactional DDL. {5} ironic.tests.unit.api.controllers.test_base.TestVersion.test_not_equals [0.157964s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name_with_json [0.086522s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_node_not_existed [0.054246s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_backfill_without_resource_class [0.070142s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_candidate_node_invalid [0.029310s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_invalid_trait [0.027576s] ... ok 2021-01-19 06:02:16.493 3833 INFO alembic.runtime.migration [req-7064c865-c731-47f2-939f-e17a71dd78e7 - - - - -] Context impl SQLiteImpl. 2021-01-19 06:02:16.495 3833 INFO alembic.runtime.migration [req-7064c865-c731-47f2-939f-e17a71dd78e7 - - - - -] Will assume non-transactional DDL. {11} ironic.tests.unit.api.controllers.v1.test_allocation.TestDelete.test_delete_allocation_by_name [0.235458s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_allocation.TestListAllocations.test_get_by_node_resource_with_fields [0.058579s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_update_error [0.038570s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_with_no_extra [0.032054s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation_forbidden [0.028921s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_valid_extra [0.046055s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links [0.047008s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_sort_key_allowed [0.056050s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_detail_using_query_false_and_fields [0.038591s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_custom_fields_invalid_fields [0.036127s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_detail_query [0.034712s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_toolong_description [0.029329s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_custom_fields [0.035544s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDeployTemplateObject.test_deploy_template_init [0.006521s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_json [0.039916s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_links [0.065989s] ... ok DELETE: /v1/nodes/f08670a6-a9ef-489d-a188-28337b59cb8a/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-11692a60-c4c4-46e3-8d3d-6b4a6f133529 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node f08670a6-a9ef-489d-a188-28337b59cb8a could not be found.\", \"debuginfo\": null}"} GET: /v1/allocations?owner=12345 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-918ab24f-4260-4787-b897-c07c50144eae X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.59 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {} GOT:{'uuid': 'e2547967-6383-4b40-ae32-255b953d628d', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/e2547967-6383-4b40-ae32-255b953d628d', 'rel': 'self'}, {'href': 'http://localhost/allocations/e2547967-6383-4b40-ae32-255b953d628d', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.635553+00:00', 'updated_at': None} PATCH: /v1/allocations/509c9bf8-d507-4037-8d3c-b1bebd7e8bfe [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a2569144-a7db-496b-a574-2cabc94e127d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "509c9bf8-d507-4037-8d3c-b1bebd7e8bfe", "extra": {"foo": "bar"}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/509c9bf8-d507-4037-8d3c-b1bebd7e8bfe", "rel": "self"}, {"href": "http://localhost/allocations/509c9bf8-d507-4037-8d3c-b1bebd7e8bfe", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": null, "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.688651+00:00", "updated_at": "2021-01-19T06:02:16.710033+00:00"} POST: /v1/allocations {'candidate_nodes': ['1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'bddb8ea9-128a-491f-aede-92ef466cd40a', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b3bcb97c-e743-48d9-ae81-9f31dd0c4e63 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'ad76112d-bf47-4abe-9cb0-8daf5f83c3f3', 'owner': None} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-ae3ac077-db78-4a1d-b264-c918131c410b X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/c0e6dcb9-3536-41b7-be98-12f9707cb16c Openstack-Request-Id: req-0c7dfd15-403b-4b78-8a2d-57fb82860c1b X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "c0e6dcb9-3536-41b7-be98-12f9707cb16c", "extra": {}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/c0e6dcb9-3536-41b7-be98-12f9707cb16c", "rel": "self"}, {"href": "http://localhost/allocations/c0e6dcb9-3536-41b7-be98-12f9707cb16c", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": null, "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.805559+00:00", "updated_at": null} GET: /v1/allocations/c0e6dcb9-3536-41b7-be98-12f9707cb16c {} GOT:{'uuid': 'c0e6dcb9-3536-41b7-be98-12f9707cb16c', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/c0e6dcb9-3536-41b7-be98-12f9707cb16c', 'rel': 'self'}, {'href': 'http://localhost/allocations/c0e6dcb9-3536-41b7-be98-12f9707cb16c', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.805559+00:00', 'updated_at': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'f29092c5-32cf-405d-9e65-0f00ef32c935', 'owner': '12345'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b954c86c-1143-48a8-85cf-a3bd04a47d81 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.59 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/chassis/d41f4b69-ad67-4a38-be08-ff7b694918f4 [{'path': '/extra/foo2', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5d4412fc-9d1c-45da-abb5-c2691e82db2f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "d41f4b69-ad67-4a38-be08-ff7b694918f4", "description": "foobar", "extra": {"foo1": "bar1", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/d41f4b69-ad67-4a38-be08-ff7b694918f4", "rel": "self"}, {"href": "http://localhost/chassis/d41f4b69-ad67-4a38-be08-ff7b694918f4", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/chassis/d41f4b69-ad67-4a38-be08-ff7b694918f4/nodes", "rel": "self"}, {"href": "http://localhost/chassis/d41f4b69-ad67-4a38-be08-ff7b694918f4/nodes", "rel": "bookmark"}], "updated_at": "2021-01-19T06:02:16.890277+00:00", "created_at": "2021-01-19T06:02:16.871036+00:00"} GET: /v1/chassis/d41f4b69-ad67-4a38-be08-ff7b694918f4 {} GOT:{'uuid': 'd41f4b69-ad67-4a38-be08-ff7b694918f4', 'description': 'foobar', 'extra': {'foo1': 'bar1', 'foo3': 'bar3'}, 'links': [{'href': 'http://localhost/v1/chassis/d41f4b69-ad67-4a38-be08-ff7b694918f4', 'rel': 'self'}, {'href': 'http://localhost/chassis/d41f4b69-ad67-4a38-be08-ff7b694918f4', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/d41f4b69-ad67-4a38-be08-ff7b694918f4/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/d41f4b69-ad67-4a38-be08-ff7b694918f4/nodes', 'rel': 'bookmark'}], 'updated_at': '2021-01-19T06:02:16.890277+00:00', 'created_at': '2021-01-19T06:02:16.871036+00:00'} PATCH: /v1/chassis/d41f4b69-ad67-4a38-be08-ff7b694918f4 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5df6ae30-f110-4699-bd00-55a3c5d071a7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "d41f4b69-ad67-4a38-be08-ff7b694918f4", "description": "foobar", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/d41f4b69-ad67-4a38-be08-ff7b694918f4", "rel": "self"}, {"href": "http://localhost/chassis/d41f4b69-ad67-4a38-be08-ff7b694918f4", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/chassis/d41f4b69-ad67-4a38-be08-ff7b694918f4/nodes", "rel": "self"}, {"href": "http://localhost/chassis/d41f4b69-ad67-4a38-be08-ff7b694918f4/nodes", "rel": "bookmark"}], "updated_at": "2021-01-19T06:02:16.919164+00:00", "created_at": "2021-01-19T06:02:16.871036+00:00"} GET: /v1/chassis/d41f4b69-ad67-4a38-be08-ff7b694918f4 {}{9} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_remove_multi [0.082198s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_error [0.028681s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_generate_uuid [0.044282s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_invalid_description [0.026442s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_collection_links_custom_fields [0.049643s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_with_invalid_api [0.026788s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_invalid_api_version [0.023119s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links_default_limit [0.051833s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_pagination_no_uuid [0.043813s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one [0.036268s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_uuid [0.032866s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_error [0.032218s] ... ok 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?provision_state=test {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-aacdc7ab-fae1-4507-8ad3-2abeead50882 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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/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': '2021-01-19T06:02:17.197507+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': 'useful piece', 'updated_at': None, 'created_at': '2021-01-19T06:02:17.197507+00:00'} GET: /v1/nodes/9646b5d8-703d-45ae-9a8d-9a4589738103 {} GOT:{'uuid': '9646b5d8-703d-45ae-9a8d-9a4589738103', '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/9646b5d8-703d-45ae-9a8d-9a4589738103', 'rel': 'self'}, {'href': 'http://localhost/nodes/9646b5d8-703d-45ae-9a8d-9a4589738103', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/9646b5d8-703d-45ae-9a8d-9a4589738103/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/9646b5d8-703d-45ae-9a8d-9a4589738103/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2021-01-19T06:02:17.261936+00:00'} GET: /v1/nodes/9646b5d8-703d-45ae-9a8d-9a4589738103 {} GOT:{'uuid': '9646b5d8-703d-45ae-9a8d-9a4589738103', '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/9646b5d8-703d-45ae-9a8d-9a4589738103', 'rel': 'self'}, {'href': 'http://localhost/nodes/9646b5d8-703d-45ae-9a8d-9a4589738103', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/9646b5d8-703d-45ae-9a8d-9a4589738103/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/9646b5d8-703d-45ae-9a8d-9a4589738103/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2021-01-19T06:02:17.261936+00:00'}{2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links [0.085439s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association_with_detail [0.090348s] ... ok DELETE: /v1/allocations/659864e2-50f1-4fe8-b2f7-5f8fcd1ad916 GOT:Response: 204 No Content Openstack-Request-Id: req-284da60b-5143-4b1a-ade6-5e1f00c367ce X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation GOT:Response: 204 No Content Openstack-Request-Id: req-7aa0773c-1d18-4b5d-9f98-29aa0de3788d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 GET: /v1/allocations/6f424ff3-987b-48b2-9711-b2be78a07441 {} 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/8e2b8edb-5c44-4303-8c27-d41fca4ada3b.json {} GOT:{'uuid': '8e2b8edb-5c44-4303-8c27-d41fca4ada3b', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/8e2b8edb-5c44-4303-8c27-d41fca4ada3b', 'rel': 'self'}, {'href': 'http://localhost/allocations/8e2b8edb-5c44-4303-8c27-d41fca4ada3b', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.775947+00:00', 'updated_at': None} GET: /v1/allocations {} GOT:{'allocations': [{'uuid': '62fbb3d4-411b-40d1-85de-68cc1cfa6353', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/62fbb3d4-411b-40d1-85de-68cc1cfa6353', 'rel': 'self'}, {'href': 'http://localhost/allocations/62fbb3d4-411b-40d1-85de-68cc1cfa6353', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.822554+00:00', 'updated_at': None}]} PATCH: /v1/allocations/622acea9-76c3-415a-8757-fbc2f2478430 [{'path': '/owner', 'value': '54321', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4fb2fe0c-dffe-4df4-8c9b-c256a23bf6de X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update /owner in an allocation. Only 'name' and 'extra' are allowed to be updated.\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '8c632078-0475-4068-9e4b-e230c4898b9a', 'owner': '54321'} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1d4ce330-3d86-4fbb-a9f1-bb53d771513d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/chassis {} GOT:{'chassis': []} GET: /v1/deploy_templates?fields=uuid,steps {} GOT:{'deploy_templates': [{'uuid': '3635bbb7-194a-48da-9aa1-d791a09936ac', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/3635bbb7-194a-48da-9aa1-d791a09936ac', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/3635bbb7-194a-48da-9aa1-d791a09936ac', 'rel': 'bookmark'}]}, {'uuid': 'fa8bbbff-ac7e-4c6d-9dd5-9a570338d5d7', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/fa8bbbff-ac7e-4c6d-9dd5-9a570338d5d7', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/fa8bbbff-ac7e-4c6d-9dd5-9a570338d5d7', 'rel': 'bookmark'}]}, {'uuid': '81ca266a-30e9-4556-b166-c8d929aa49e8', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/81ca266a-30e9-4556-b166-c8d929aa49e8', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/81ca266a-30e9-4556-b166-c8d929aa49e8', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,steps&limit=3&marker=81ca266a-30e9-4556-b166-c8d929aa49e8'} PATCH: /v1/deploy_templates/df3121fc-e05f-4db4-9091-7f4671a5ce3d [{'path': '/name', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-82dac7de-b2ee-490b-a161-e070c4b1c760 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/name' is a mandatory attribute and can not be removed\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/d25e8317-3a9d-494f-aaab-d1a869ec3fbf [{'path': '/steps/0', 'value': {'interface': 'raid', 'step': 'create_configuration0', 'args': {}, 'priority': 11}, 'op': 'replace'}, {'path': '/steps/1', 'value': {'interface': 'raid', 'step': 'create_configuration1', 'args': {}, 'priority': 11}, 'op': 'replace'}, {'path': '/steps/2', 'value': {'interface': 'raid', 'step': 'create_configuration2', 'args': {}, 'priority': 11}, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-916eb809-2369-4aba-9a59-946af6a0f3d8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "d25e8317-3a9d-494f-aaab-d1a869ec3fbf", "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/d25e8317-3a9d-494f-aaab-d1a869ec3fbf", "rel": "self"}, {"href": "http://localhost/deploy_templates/d25e8317-3a9d-494f-aaab-d1a869ec3fbf", "rel": "bookmark"}], "extra": {}, "created_at": "2021-01-19T06:02:17.060011+00:00", "updated_at": null} 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-ffafcb79-53b7-4bd1-96ac-c41ada90a132 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "9de0f3a7-fe7a-45df-b559-f7233e653bc0", "name": "CUSTOM_DT1", "steps": [{"interface": "bios", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/9de0f3a7-fe7a-45df-b559-f7233e653bc0", "rel": "self"}, {"href": "http://localhost/deploy_templates/9de0f3a7-fe7a-45df-b559-f7233e653bc0", "rel": "bookmark"}], "extra": {}, "created_at": "2021-01-19T06:02:17.098526+00:00", "updated_at": null} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'f6f2323f-dba6-4442-b9d0-8eafccc370c7', '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-927c5430-4ef6-4c55-a1e8-9df40354e676 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute template. Value: '{'name': 'CUSTOM_DT1', 'uuid': 'f6f2323f-dba6-4442-b9d0-8eafccc370c7', '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 {'name': 'CUSTOM_DT1', 'uuid': '4280cd43-0bba-4bb4-9a85-a4bd2c157314', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '0'}, 'priority': 0}, {'interface': 'raid', 'step': 'create_configuration', 'args': {'foo': '1'}, 'priority': 1}], 'extra': {}}{8} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_steps_invalid_duplicate [0.026962s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_fake [0.029618s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_sync [0.043730s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_host_id [0.024393s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_expose.TestJsonRenderer.test_render_http_exception [0.006384s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_no_vif_id [0.035427s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_not_list [0.010750s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_portgroup_subresource [0.041954s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_not_allowed [0.034036s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query [0.063125s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_custom_fields [0.075930s] ... ok GET: /v1/chassis/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/nodes {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a2f8e8a5-de94-4c61-b9a2-e33892f32ac8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/deploy_templates/bffae911-494d-463a-b5d5-d0517ff4b7bf?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/bffae911-494d-463a-b5d5-d0517ff4b7bf', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/bffae911-494d-463a-b5d5-d0517ff4b7bf', 'rel': 'bookmark'}]} GET: /v1/deploy_templates/0c70d31f-7287-425a-ba8d-6026485590b4 {} 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\"}"} PATCH: /v1/deploy_templates/765448be-2365-4498-9146-4f59b94ed22a [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-872cb860-1f41-4f43-8f8c-fcaf3d25e4e5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A deploy template with UUID 765448be-2365-4498-9146-4f59b94ed22a already exists.\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/2d570efd-b74e-46c2-b76f-2752274948bb [{'path': '/name', 'value': 'HW_CPU_X86_VMX', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-cf2825f8-9ffd-40ea-b2c4-d789124455ee X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "2d570efd-b74e-46c2-b76f-2752274948bb", "name": "HW_CPU_X86_VMX", "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/2d570efd-b74e-46c2-b76f-2752274948bb", "rel": "self"}, {"href": "http://localhost/deploy_templates/2d570efd-b74e-46c2-b76f-2752274948bb", "rel": "bookmark"}], "extra": {}, "created_at": "2021-01-19T06:02:17.047127+00:00", "updated_at": null} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'dc9d8840-1931-4b6c-8dc9-7b8a106a6546', '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/dc9d8840-1931-4b6c-8dc9-7b8a106a6546 Openstack-Request-Id: req-c3f78f2d-2806-4885-84af-28bb3fbc8297 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "dc9d8840-1931-4b6c-8dc9-7b8a106a6546", "name": "CUSTOM_DT1", "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/dc9d8840-1931-4b6c-8dc9-7b8a106a6546", "rel": "self"}, {"href": "http://localhost/deploy_templates/dc9d8840-1931-4b6c-8dc9-7b8a106a6546", "rel": "bookmark"}], "extra": {}, "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} GET: /v1/deploy_templates/dc9d8840-1931-4b6c-8dc9-7b8a106a6546 {} GOT:{'uuid': 'dc9d8840-1931-4b6c-8dc9-7b8a106a6546', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/dc9d8840-1931-4b6c-8dc9-7b8a106a6546', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/dc9d8840-1931-4b6c-8dc9-7b8a106a6546', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'b6f72d5c-05ca-41f0-8b27-5e411fd7233a', '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-7ef96a56-fb57-48d1-9954-7c9fcf9683a7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute interface. Value: 'foo'. Value should be one of: raid, bios, power, management, deploy\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '3439c4cb-3355-456c-bd82-1caff2519e2d', 'steps': [{'interface': 'raid', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-400e3781-6583-4773-8a29-a4b304621b44 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute step. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} GET: /v1/drivers?detail=False {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cf54122f-a989-47e3-93ea-ad4e536f02af X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} POST: /v1/events {'events': [{'event': 'invalid.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d237a63a-9295-49b6-898d-a7c53fde590b X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"invalid.event is not one of valid events: network.bind_port, network.unbind_port, network.delete_port.\", \"debuginfo\": null}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/481da846-f19e-4adc-b6f9-3af34261c71c GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-35cf6d09-906a-49a8-8fa4-209e3a6a291b X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-57cda0af-d3e8-4468-a3ff-695f1e6d2124 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/spam/states/console {} GOT:{'console_enabled': True, 'console_info': {'test': 'test-data'}} GET: /v1/nodes/detail?resource_class=test {} GOT:{'nodes': []} GET: /v1/nodes?lessee=project1 {} GOT:{'nodes': [{'uuid': '6d0609b8-dd41-4553-b72e-cbb4c1c251ec', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/6d0609b8-dd41-4553-b72e-cbb4c1c251ec', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d0609b8-dd41-4553-b72e-cbb4c1c251ec', 'rel': 'bookmark'}]}]} GET: /v1/nodes?lessee=project2 {} GOT:{'nodes': [{'uuid': '6cb123d8-e7fc-4c9d-b612-a74946a98bda', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/6cb123d8-e7fc-4c9d-b612-a74946a98bda', 'rel': 'self'}, {'href': 'http://localhost/nodes/6cb123d8-e7fc-4c9d-b612-a74946a98bda', 'rel': 'bookmark'}]}]}{6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee [0.165807s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_lessee_not_allowed [0.039193s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_have_names [0.088420s] ... ok DELETE: /v1/allocations/ec514e5e-5030-45e0-adcf-66a6673abe48 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-0ec5773c-d778-447d-b3b8-97e02ae32fc5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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/allocations?node=node-1 {} GOT:{'allocations': [{'uuid': '6c238d85-5071-4bf6-87d7-ad5bc8995be6', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation0', 'links': [{'href': 'http://localhost/v1/allocations/6c238d85-5071-4bf6-87d7-ad5bc8995be6', 'rel': 'self'}, {'href': 'http://localhost/allocations/6c238d85-5071-4bf6-87d7-ad5bc8995be6', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.539530+00:00', 'updated_at': None}, {'uuid': '9181a4e1-95c6-419d-955c-ef5cb2b6a76b', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation1', 'links': [{'href': 'http://localhost/v1/allocations/9181a4e1-95c6-419d-955c-ef5cb2b6a76b', 'rel': 'self'}, {'href': 'http://localhost/allocations/9181a4e1-95c6-419d-955c-ef5cb2b6a76b', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.541299+00:00', 'updated_at': None}, {'uuid': '03bd8ebd-a307-42d3-b683-9ca4fcd5531c', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation2', 'links': [{'href': 'http://localhost/v1/allocations/03bd8ebd-a307-42d3-b683-9ca4fcd5531c', 'rel': 'self'}, {'href': 'http://localhost/allocations/03bd8ebd-a307-42d3-b683-9ca4fcd5531c', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.542972+00:00', 'updated_at': None}]} GET: /v1/allocations?fields=uuid,extra {} GOT:{'allocations': [{'uuid': '1d5130ce-e754-4f6c-99e6-278fdb12d1ec', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/1d5130ce-e754-4f6c-99e6-278fdb12d1ec', 'rel': 'self'}, {'href': 'http://localhost/allocations/1d5130ce-e754-4f6c-99e6-278fdb12d1ec', 'rel': 'bookmark'}]}, {'uuid': '06685469-d71a-43f7-9a38-8b9fcc9f8d3b', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/06685469-d71a-43f7-9a38-8b9fcc9f8d3b', 'rel': 'self'}, {'href': 'http://localhost/allocations/06685469-d71a-43f7-9a38-8b9fcc9f8d3b', 'rel': 'bookmark'}]}, {'uuid': '4980987e-0241-4a6e-904d-2cf68017841a', 'extra': {}, 'links': [{'href': 'http://localhost/v1/allocations/4980987e-0241-4a6e-904d-2cf68017841a', 'rel': 'self'}, {'href': 'http://localhost/allocations/4980987e-0241-4a6e-904d-2cf68017841a', 'rel': 'bookmark'}]}]} GET: /v1/allocations/66b64156-e3a3-41bb-84af-88defea91ac0 {} GOT:{'uuid': '66b64156-e3a3-41bb-84af-88defea91ac0', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/66b64156-e3a3-41bb-84af-88defea91ac0', 'rel': 'self'}, {'href': 'http://localhost/allocations/66b64156-e3a3-41bb-84af-88defea91ac0', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.675821+00:00', 'updated_at': None} GET: /v1/allocations/66b64156-e3a3-41bb-84af-88defea91ac0 {} GOT:{'uuid': '66b64156-e3a3-41bb-84af-88defea91ac0', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/66b64156-e3a3-41bb-84af-88defea91ac0', 'rel': 'self'}, {'href': 'http://localhost/allocations/66b64156-e3a3-41bb-84af-88defea91ac0', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.675821+00:00', 'updated_at': None} GET: /allocations/66b64156-e3a3-41bb-84af-88defea91ac0 {} GOT:{'uuid': '66b64156-e3a3-41bb-84af-88defea91ac0', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/66b64156-e3a3-41bb-84af-88defea91ac0', 'rel': 'self'}, {'href': 'http://localhost/allocations/66b64156-e3a3-41bb-84af-88defea91ac0', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.675821+00:00', 'updated_at': None} 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/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes {} GOT:{'nodes': [{'uuid': '24594ed6-30bc-4ccf-8159-e8402bbffea5', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/24594ed6-30bc-4ccf-8159-e8402bbffea5', 'rel': 'self'}, {'href': 'http://localhost/nodes/24594ed6-30bc-4ccf-8159-e8402bbffea5', 'rel': 'bookmark'}]}, {'uuid': '8378a154-3b67-4049-9a94-b52521d828f5', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/8378a154-3b67-4049-9a94-b52521d828f5', 'rel': 'self'}, {'href': 'http://localhost/nodes/8378a154-3b67-4049-9a94-b52521d828f5', 'rel': 'bookmark'}]}]} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66/nodes?limit=1 {} GOT:{'nodes': [{'uuid': '24594ed6-30bc-4ccf-8159-e8402bbffea5', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/24594ed6-30bc-4ccf-8159-e8402bbffea5', 'rel': 'self'}, {'href': 'http://localhost/nodes/24594ed6-30bc-4ccf-8159-e8402bbffea5', '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=24594ed6-30bc-4ccf-8159-e8402bbffea5'} 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-1a621b69-bc11-473a-b76a-4919c978af66 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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-1a891d9a-da37-4127-9483-78e34937da02 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': {'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-7b255ecd-6f14-4213-984c-e14a426cb85d X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:17.006351+00:00"}{4} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_doesnt_contain_id [0.043336s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_chassis.TestPost.test_create_chassis_unicode_description [0.042146s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links_public_url [0.061405s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_list_with_detail [0.036991s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_one_with_suffix [0.043379s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_multi [0.041799s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_not_found [0.034654s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_standard_trait_name [0.030522s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '4d98beb1-4b1c-4e8f-98cc-927e02f51bec', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/4d98beb1-4b1c-4e8f-98cc-927e02f51bec Openstack-Request-Id: req-2a60fb3b-e5e1-42a5-9d05-b15159ba76b8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "4d98beb1-4b1c-4e8f-98cc-927e02f51bec", "extra": {}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/4d98beb1-4b1c-4e8f-98cc-927e02f51bec", "rel": "self"}, {"href": "http://localhost/allocations/4d98beb1-4b1c-4e8f-98cc-927e02f51bec", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": null, "candidate_nodes": [], "traits": [], "created_at": "2000-01-01T00:00:00+00:00", "updated_at": null} GET: /v1/allocations/4d98beb1-4b1c-4e8f-98cc-927e02f51bec {} GOT:{'uuid': '4d98beb1-4b1c-4e8f-98cc-927e02f51bec', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/4d98beb1-4b1c-4e8f-98cc-927e02f51bec', 'rel': 'self'}, {'href': 'http://localhost/allocations/4d98beb1-4b1c-4e8f-98cc-927e02f51bec', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2000-01-01T00:00:00+00:00', 'updated_at': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {'foo': 123}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'c89c5d66-611b-4884-9ec4-7ec79c55afa9', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/c89c5d66-611b-4884-9ec4-7ec79c55afa9 Openstack-Request-Id: req-146566ba-5a9c-4bad-a55a-5419ac2e23fa X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "c89c5d66-611b-4884-9ec4-7ec79c55afa9", "extra": {"foo": 123}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/c89c5d66-611b-4884-9ec4-7ec79c55afa9", "rel": "self"}, {"href": "http://localhost/allocations/c89c5d66-611b-4884-9ec4-7ec79c55afa9", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": null, "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.602288+00:00", "updated_at": null} GET: /v1/allocations/c89c5d66-611b-4884-9ec4-7ec79c55afa9 {} GOT:{'uuid': 'c89c5d66-611b-4884-9ec4-7ec79c55afa9', 'extra': {'foo': 123}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/c89c5d66-611b-4884-9ec4-7ec79c55afa9', 'rel': 'self'}, {'href': 'http://localhost/allocations/c89c5d66-611b-4884-9ec4-7ec79c55afa9', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.602288+00:00', 'updated_at': None} GET: /v1/chassis?fields=uuid,extra {} GOT:{'chassis': [{'uuid': 'b2f82ceb-5552-4c23-95de-4355dd5bfffd', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/b2f82ceb-5552-4c23-95de-4355dd5bfffd', 'rel': 'self'}, {'href': 'http://localhost/chassis/b2f82ceb-5552-4c23-95de-4355dd5bfffd', 'rel': 'bookmark'}]}, {'uuid': '192da8b4-6581-4052-812c-fc2cf955a8f6', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/192da8b4-6581-4052-812c-fc2cf955a8f6', 'rel': 'self'}, {'href': 'http://localhost/chassis/192da8b4-6581-4052-812c-fc2cf955a8f6', 'rel': 'bookmark'}]}, {'uuid': '104d5650-3b10-4872-9323-d4d54b9957cf', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/104d5650-3b10-4872-9323-d4d54b9957cf', 'rel': 'self'}, {'href': 'http://localhost/chassis/104d5650-3b10-4872-9323-d4d54b9957cf', 'rel': 'bookmark'}]}]} GET: /v1/chassis/nodes {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4707b99a-b672-4c78-801e-aad7d3587f68 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-1fad26f9-2fb8-4cbb-92a1-2e11fee34c7c X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:16.722375+00:00", "created_at": "2021-01-19T06:02:16.703266+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': '2021-01-19T06:02:16.722375+00:00', 'created_at': '2021-01-19T06:02:16.703266+00:00'} 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-fcb27bae-b25b-4f88-93a4-d3735400ac5c X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:16.773894+00:00", "created_at": "2021-01-19T06:02:16.755705+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-7f511cdb-bfd6-4f29-bfd3-b092f7f486b4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:16.790557+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': '2021-01-19T06:02:16.790557+00:00'}{15} ironic.tests.unit.api.controllers.v1.test_chassis.TestPatch.test_replace_singular [0.048388s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_one_conductor_offline [0.036098s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_sort_key_invalid [0.038929s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_step [0.028076s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_version [0.027229s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_expose.TestExpose.test_response_204 [0.023998s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios_fails_if_not_found [0.070460s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_forbidden [0.030825s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbid_project_mismatch [0.030431s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor [0.142699s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed_detail [0.029907s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_custom_fields_show_password [0.047713s] ... ok 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\": \"\"}"} GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2a66ce4a-79b8-482a-ad9e-01ae430d802c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.59 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/allocations {} GOT:{'allocations': [{'uuid': 'e15ca0b9-8da4-41ba-8ecf-97ac2d5cb331', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/e15ca0b9-8da4-41ba-8ecf-97ac2d5cb331', 'rel': 'self'}, {'href': 'http://localhost/allocations/e15ca0b9-8da4-41ba-8ecf-97ac2d5cb331', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': '12345', 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.672794+00:00', 'updated_at': None}, {'uuid': '947994ec-79aa-4599-867a-f3ea19953150', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/947994ec-79aa-4599-867a-f3ea19953150', 'rel': 'self'}, {'href': 'http://localhost/allocations/947994ec-79aa-4599-867a-f3ea19953150', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': '12345', 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.674660+00:00', 'updated_at': None}, {'uuid': '11552a48-4c4f-4cba-8778-913ed8eb6f48', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/11552a48-4c4f-4cba-8778-913ed8eb6f48', 'rel': 'self'}, {'href': 'http://localhost/allocations/11552a48-4c4f-4cba-8778-913ed8eb6f48', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': '12345', 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.676435+00:00', 'updated_at': None}, {'uuid': 'af4b8254-d004-454d-bab9-fb075dfdad7f', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/af4b8254-d004-454d-bab9-fb075dfdad7f', 'rel': 'self'}, {'href': 'http://localhost/allocations/af4b8254-d004-454d-bab9-fb075dfdad7f', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': '12345', 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.678141+00:00', 'updated_at': None}, {'uuid': '8ee3ba7c-57bc-40d5-9059-08f47c3851b6', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/8ee3ba7c-57bc-40d5-9059-08f47c3851b6', 'rel': 'self'}, {'href': 'http://localhost/allocations/8ee3ba7c-57bc-40d5-9059-08f47c3851b6', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': '12345', 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.679857+00:00', 'updated_at': None}]} GET: /v1/allocations/dac1ecce-bb03-45c9-a790-94066a7fc4bd {} GOT:{'uuid': 'dac1ecce-bb03-45c9-a790-94066a7fc4bd', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'pg.1', 'links': [{'href': 'http://localhost/v1/allocations/dac1ecce-bb03-45c9-a790-94066a7fc4bd', 'rel': 'self'}, {'href': 'http://localhost/allocations/dac1ecce-bb03-45c9-a790-94066a7fc4bd', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.725290+00:00', 'updated_at': None} GET: /v1/allocations/819909b6-cab6-4530-9819-95f8e79ea9c6?fields=owner {} GOT:{'links': [{'href': 'http://localhost/v1/allocations/819909b6-cab6-4530-9819-95f8e79ea9c6', 'rel': 'self'}, {'href': 'http://localhost/allocations/819909b6-cab6-4530-9819-95f8e79ea9c6', 'rel': 'bookmark'}], 'owner': '12345'} GET: /v1/allocations?sort_key=uuid {} GOT:{'allocations': [{'uuid': '15cfddd5-0ae1-450a-9fc0-1c2909b079ed', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation0', 'links': [{'href': 'http://localhost/v1/allocations/15cfddd5-0ae1-450a-9fc0-1c2909b079ed', 'rel': 'self'}, {'href': 'http://localhost/allocations/15cfddd5-0ae1-450a-9fc0-1c2909b079ed', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.820914+00:00', 'updated_at': None}, {'uuid': 'b9d7368a-3ef4-4a21-96a6-dff8a7392eb8', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation1', 'links': [{'href': 'http://localhost/v1/allocations/b9d7368a-3ef4-4a21-96a6-dff8a7392eb8', 'rel': 'self'}, {'href': 'http://localhost/allocations/b9d7368a-3ef4-4a21-96a6-dff8a7392eb8', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.822779+00:00', 'updated_at': None}, {'uuid': 'cc59edd4-1ded-40fc-ad3d-87829e0438d5', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': 'allocation2', 'links': [{'href': 'http://localhost/v1/allocations/cc59edd4-1ded-40fc-ad3d-87829e0438d5', 'rel': 'self'}, {'href': 'http://localhost/allocations/cc59edd4-1ded-40fc-ad3d-87829e0438d5', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.824496+00:00', 'updated_at': None}]} PATCH: /v1/allocations/da1c389f-8e1b-4543-90e6-51e03b2586f9 [{'path': '/extra/foo2', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-acb272d1-bf79-4df1-b05b-df619dfb9c2b X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "da1c389f-8e1b-4543-90e6-51e03b2586f9", "extra": {"foo1": "bar1", "foo3": "bar3"}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/da1c389f-8e1b-4543-90e6-51e03b2586f9", "rel": "self"}, {"href": "http://localhost/allocations/da1c389f-8e1b-4543-90e6-51e03b2586f9", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": null, "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.879557+00:00", "updated_at": "2021-01-19T06:02:16.902834+00:00"} GET: /v1/allocations/da1c389f-8e1b-4543-90e6-51e03b2586f9 {} GOT:{'uuid': 'da1c389f-8e1b-4543-90e6-51e03b2586f9', 'extra': {'foo1': 'bar1', 'foo3': 'bar3'}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/da1c389f-8e1b-4543-90e6-51e03b2586f9', 'rel': 'self'}, {'href': 'http://localhost/allocations/da1c389f-8e1b-4543-90e6-51e03b2586f9', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.879557+00:00', 'updated_at': '2021-01-19T06:02:16.902834+00:00'} PATCH: /v1/allocations/da1c389f-8e1b-4543-90e6-51e03b2586f9 [{'path': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-b477e052-14c2-4a26-83bb-b82b4c19771f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "da1c389f-8e1b-4543-90e6-51e03b2586f9", "extra": {}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/da1c389f-8e1b-4543-90e6-51e03b2586f9", "rel": "self"}, {"href": "http://localhost/allocations/da1c389f-8e1b-4543-90e6-51e03b2586f9", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": null, "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.879557+00:00", "updated_at": "2021-01-19T06:02:16.933739+00:00"} GET: /v1/allocations/da1c389f-8e1b-4543-90e6-51e03b2586f9 {}{3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPatch.test_remove_multi [0.087531s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_allocation_resource_class_too_long [0.027018s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_chassis.TestListChassis.test_one [0.033729s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_empty [0.031115s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_old_api_version [0.024486s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_get_collection_custom_fields [0.047791s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sensitive_data_masked [0.037922s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_remove_foo [0.036801s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_invalid_name [0.037943s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_name_custom_trait [0.037877s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_priority [0.026285s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_put [0.044485s] ... ok GET: /v1/deploy_templates?detail=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-edee47cb-29aa-4799-8afe-8689327ab202 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} 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\"}"} PATCH: /v1/deploy_templates/fe0dd34b-60e2-4876-8e84-0fa55f71f192 [{'path': '/steps/1', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4d8cf248-c244-41ed-9d91-32443d4eed1d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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/5df30bc7-a06f-4d98-ac73-24ab7d1a823e [{'path': '/steps/0', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b8c3714f-8b18-4d82-a356-54ea9320fdf7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': 'CUSTOM_DT1', 'uuid': 'a6b1762b-9db1-466f-9508-88d25cf9d7f5', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': 'not a dict', 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e87e06de-346a-47ff-9010-190d42ba01b0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute template. Value: '{'name': 'CUSTOM_DT1', 'uuid': 'a6b1762b-9db1-466f-9508-88d25cf9d7f5', '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': '92372d69-8145-4c01-a474-8f4a502b16bd', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': [], 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eea1728f-f30c-4895-888b-dc72c28fa81e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute template. Value: '{'name': 'CUSTOM_DT1', 'uuid': '92372d69-8145-4c01-a474-8f4a502b16bd', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': [], 'priority': 10}], 'extra': {}}'. Value not a valid dict: []\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': '98cc26d8-bc70-4742-9ca6-41d76c121a7c', '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/98cc26d8-bc70-4742-9ca6-41d76c121a7c Openstack-Request-Id: req-388ef48f-f940-4f6e-809a-56edbbf2ec08 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "98cc26d8-bc70-4742-9ca6-41d76c121a7c", "name": "CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX", "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/98cc26d8-bc70-4742-9ca6-41d76c121a7c", "rel": "self"}, {"href": "http://localhost/deploy_templates/98cc26d8-bc70-4742-9ca6-41d76c121a7c", "rel": "bookmark"}], "extra": {}, "created_at": "2021-01-19T06:02:17.110120+00:00", "updated_at": null} POST: /v1/deploy_templates {'name': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX', 'uuid': '905818e6-c431-4681-9e00-3deea359629d', '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-2bb3c215-8445-423d-9592-3fcc6aa4d997 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': '04d983be-0b3f-4b78-8758-3bd8f54bde5f', 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d92e1433-6f48-45c5-880b-37a2304b3fbc X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': '305d7f03-424d-489f-830c-fb827a4f1fee', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2c6e4896-d4a0-470c-ba39-06a9face4170 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute args. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} GET: /v1/drivers?type=dynamic {} 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'}]}]} DELETE: /v1/nodes/node-39/vifs/cba51014-7965-44b5-b23c-babe8268075b GOT:Response: 204 No Content Openstack-Request-Id: req-f8611f8b-195d-4c6a-ac07-0e2b7eb9b30c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {7} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_by_node_name [0.037304s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_detach_node_not_found [0.043872s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found [0.026726s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_connectors_subresource_no_connector_id [0.039532s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_old_version [0.036418s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_not_allowed [0.040542s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_suffix [0.048388s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields [0.049302s] ... ok GET: /v1/allocations?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7a4f2f81-619f-4e8f-92c1-4f59f19f2f16 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-e4c36909-8fbd-4339-b330-9e4ce0e35fd4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-d3da3ffc-fa07-4e03-a6ea-ea56f133f211 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-19b6ffcd-7a99-4815-8e28-332694275f58 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value \\\"properties\\\" is an invalid field for sorting\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '1a74aed1-68ff-4499-b339-89f2263791d0'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/1a74aed1-68ff-4499-b339-89f2263791d0 Openstack-Request-Id: req-1a2e03c3-9b87-4ccf-98e7-be6a2b2949e9 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.59 {"uuid": "1a74aed1-68ff-4499-b339-89f2263791d0", "extra": {}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/1a74aed1-68ff-4499-b339-89f2263791d0", "rel": "self"}, {"href": "http://localhost/allocations/1a74aed1-68ff-4499-b339-89f2263791d0", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.737502+00:00", "updated_at": null} GET: /v1/allocations/1a74aed1-68ff-4499-b339-89f2263791d0 {} GOT:{'uuid': '1a74aed1-68ff-4499-b339-89f2263791d0', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/1a74aed1-68ff-4499-b339-89f2263791d0', 'rel': 'self'}, {'href': 'http://localhost/allocations/1a74aed1-68ff-4499-b339-89f2263791d0', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.737502+00:00', 'updated_at': None} 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': '2021-01-19T06:02:16.771979+00:00', 'updated_at': '2021-01-19T06:02:16.771114+00:00'} PATCH: /v1/deploy_templates/66b39db8-a94b-4fd3-9ca1-69b73e5ee754 [{'path': '/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c9ab9fd7-c2b8-4927-b597-3a5c2caec959 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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/4e3b7c63-19c7-4358-b690-f11c5624e11f [{'path': '/name', 'op': 'replace', 'value': None}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a73009b6-1ebf-401c-b44f-00712d9d5203 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: Deploy template name cannot be None.\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'bdba7c02-d516-4a53-abb0-0a8f5a52ec50', 'steps': {}, 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c37e3819-4aa6-4e9b-a632-44d32b9c08fc X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute template. Value: '{'name': 'CUSTOM_DT1', 'uuid': 'bdba7c02-d516-4a53-abb0-0a8f5a52ec50', 'steps': {}, 'extra': {}}'. Value not a valid list: {}\", \"debuginfo\": null}"} 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/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.1 GOT:Response: 204 No Content Openstack-Request-Id: req-8fe68c1c-916d-44b5-b691-f2aa062d6445 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 GET: /v1/nodes/?limit=3 {} GOT:{'nodes': [{'uuid': '0f13c77a-ea31-4486-a02e-fdf848d6706d', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/0f13c77a-ea31-4486-a02e-fdf848d6706d', 'rel': 'self'}, {'href': 'http://localhost/nodes/0f13c77a-ea31-4486-a02e-fdf848d6706d', 'rel': 'bookmark'}]}, {'uuid': '4fe0428a-6dc6-4624-bef0-770bb5c44f41', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/4fe0428a-6dc6-4624-bef0-770bb5c44f41', 'rel': 'self'}, {'href': 'http://localhost/nodes/4fe0428a-6dc6-4624-bef0-770bb5c44f41', 'rel': 'bookmark'}]}, {'uuid': '97acf6de-f062-46e6-834e-0e80d14507b8', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/97acf6de-f062-46e6-834e-0e80d14507b8', 'rel': 'self'}, {'href': 'http://localhost/nodes/97acf6de-f062-46e6-834e-0e80d14507b8', '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=97acf6de-f062-46e6-834e-0e80d14507b8'} GET: /v1/nodes {} GOT:{'nodes': [{'uuid': '71590204-32df-45c6-9d7b-1cbac29ec691', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/71590204-32df-45c6-9d7b-1cbac29ec691', 'rel': 'self'}, {'href': 'http://localhost/nodes/71590204-32df-45c6-9d7b-1cbac29ec691', 'rel': 'bookmark'}]}, {'uuid': 'bb918ed8-75ae-49d0-97f8-15436d162dc1', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/bb918ed8-75ae-49d0-97f8-15436d162dc1', 'rel': 'self'}, {'href': 'http://localhost/nodes/bb918ed8-75ae-49d0-97f8-15436d162dc1', 'rel': 'bookmark'}]}, {'uuid': 'dd2b3907-6412-49f9-b243-1ed3c2702565', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/dd2b3907-6412-49f9-b243-1ed3c2702565', 'rel': 'self'}, {'href': 'http://localhost/nodes/dd2b3907-6412-49f9-b243-1ed3c2702565', '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=dd2b3907-6412-49f9-b243-1ed3c2702565'}{14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_default_limit [0.087732s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail [0.062293s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_sort_key_allowed [0.077055s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_empty [0.050607s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields [0.046672s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state [0.052383s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-36b459f7-49e6-41e8-85a4-31264086037c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Event validation failure for mac_address. Expected a MAC address but received INVALID_MAC_ADDRESS.\", \"debuginfo\": null}"} 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-2a5f723a-69b7-4628-941e-2a18a579bca1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-05e5f632-2c2f-4169-b86e-2c1aa62fe3cf X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-22c13c94-a6a7-40ce-87f0-a52bfe2493b7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4d2544ba-4a82-4418-9b96-7c1eb5cdbd51 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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': '2021-01-19T06:02:17.398459+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': '2021-01-19T06:02:17.398459+00:00'}]} GET: /v1/nodes {} GOT:{'nodes': [{'uuid': '35c714c4-0024-419c-b6f1-d4f3790bba19', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/35c714c4-0024-419c-b6f1-d4f3790bba19', 'rel': 'self'}, {'href': 'http://localhost/nodes/35c714c4-0024-419c-b6f1-d4f3790bba19', 'rel': 'bookmark'}]}, {'uuid': '4c50105a-31fb-42fa-a5a6-0191b2535dfe', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/4c50105a-31fb-42fa-a5a6-0191b2535dfe', 'rel': 'self'}, {'href': 'http://localhost/nodes/4c50105a-31fb-42fa-a5a6-0191b2535dfe', 'rel': 'bookmark'}]}, {'uuid': 'fd37912a-f4b9-4239-81b2-271f3e78997f', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/fd37912a-f4b9-4239-81b2-271f3e78997f', 'rel': 'self'}, {'href': 'http://localhost/nodes/fd37912a-f4b9-4239-81b2-271f3e78997f', 'rel': 'bookmark'}]}, {'uuid': 'f8108ea6-c1af-430d-abe8-a25bd6d8f6a4', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/f8108ea6-c1af-430d-abe8-a25bd6d8f6a4', 'rel': 'self'}, {'href': 'http://localhost/nodes/f8108ea6-c1af-430d-abe8-a25bd6d8f6a4', 'rel': 'bookmark'}]}, {'uuid': '9b8f3384-a44b-4b9f-98c6-f136401cb773', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/9b8f3384-a44b-4b9f-98c6-f136401cb773', 'rel': 'self'}, {'href': 'http://localhost/nodes/9b8f3384-a44b-4b9f-98c6-f136401cb773', 'rel': 'bookmark'}]}]} GET: /v1/nodes?project=54321 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b3b18bb7-07f7-4a46-8ca6-a1b7ae0314a4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"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': '2021-01-19T06:02:17.612460+00:00'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_mask_available_state [0.062878s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_fault_hidden_in_lower_version [0.064424s] ... ok POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '6d01b7ed-5a92-47fd-8325-9e22edb34d75', 'owner': None} 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': 'e54ed556-5598-4c1a-9354-647a2241047b', 'owner': None, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-636aa9fa-75a3-4050-b247-969e78afea00 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-379e0391-e594-4e4e-ba6a-abc2099f97b8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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?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'}]}]} PATCH: /v1/deploy_templates/cb8fcc45-e172-4c54-b147-07a641101d8b [{'path': '/steps/0/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-dd9828d4-f92c-4051-8c93-dd49078aa822 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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/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\"}"} 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/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'}]} 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-fb6146e5-cba3-4539-92e8-159d0076ac99 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs/5edc43fc-0a95-4b97-956e-d2c487e07731 GOT:Response: 204 No Content Openstack-Request-Id: req-4fa8f729-12d6-492d-8a94-1ab5d864c1ec X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-978e0725-46e5-448a-a01c-33b97d5a25ac X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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?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/management/boot_device/supported {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a00fa58d-6f1b-48c6-b22e-f91cdaf2b391 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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 {} 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': '2021-01-19T06:02:17.152672+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': '2021-01-19T06:02:17.152672+00:00'}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_clean_step [0.065240s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_description_null_field [0.046600s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_inspect_wait_state_between_api_versions [0.068544s] ... ok GET: /v1/allocations/f220a648-13d4-4e54-ba56-a57a183c4ce6 {} GOT:{'uuid': 'f220a648-13d4-4e54-ba56-a57a183c4ce6', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/f220a648-13d4-4e54-ba56-a57a183c4ce6', 'rel': 'self'}, {'href': 'http://localhost/allocations/f220a648-13d4-4e54-ba56-a57a183c4ce6', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.719080+00:00', 'updated_at': None} GET: /v1/node/14989769-f89e-47cf-95f8-8e81a69d6980/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': 'a5626e07-9d88-4788-b394-83e3c9fd767a', 'extra': {}, 'node_uuid': None, 'name': 'allocation0', 'links': [{'href': 'http://localhost/v1/allocations/a5626e07-9d88-4788-b394-83e3c9fd767a', 'rel': 'self'}, {'href': 'http://localhost/allocations/a5626e07-9d88-4788-b394-83e3c9fd767a', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.798535+00:00', 'updated_at': None}, {'uuid': 'eeb24313-500b-44ab-973e-7bc3d0249e54', 'extra': {}, 'node_uuid': None, 'name': 'allocation1', 'links': [{'href': 'http://localhost/v1/allocations/eeb24313-500b-44ab-973e-7bc3d0249e54', 'rel': 'self'}, {'href': 'http://localhost/allocations/eeb24313-500b-44ab-973e-7bc3d0249e54', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.800334+00:00', 'updated_at': None}, {'uuid': '45987468-3b9a-439a-9927-b90a23430713', 'extra': {}, 'node_uuid': None, 'name': 'allocation2', 'links': [{'href': 'http://localhost/v1/allocations/45987468-3b9a-439a-9927-b90a23430713', 'rel': 'self'}, {'href': 'http://localhost/allocations/45987468-3b9a-439a-9927-b90a23430713', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.802028+00:00', 'updated_at': None}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=45987468-3b9a-439a-9927-b90a23430713'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation/c24c2c0d-01be-4943-b31d-cdc9761e5e7f {} 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\": \"\"}"} PATCH: /v1/allocations/47b022be-8db9-4e44-9a72-709022f472a3 [{'path': '/name', 'value': 'b', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-50255c65-2bff-4a4f-83aa-6502355faa4c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation 47b022be-8db9-4e44-9a72-709022f472a3 could not be found.\", \"debuginfo\": null}"} POST: /v1/allocations {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c7164fc4-3d93-44e4-9a4f-1b4133a50a2a X-Openstack-Ironic-Api-Maximum-Version: 1.68 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, 'traits': [], 'uuid': '336b658f-3947-46de-893f-340bdb38d298', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-859367db-dc69-49b2-9d5f-85a1b22208ad X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The resource_class field is mandatory when not backfilling\", \"debuginfo\": null}"} GET: /v1/chassis?fields=extra,uuid {} GOT:{'chassis': [{'uuid': '142be6ae-64ad-4c3d-ae78-877e41983040', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/142be6ae-64ad-4c3d-ae78-877e41983040', 'rel': 'self'}, {'href': 'http://localhost/chassis/142be6ae-64ad-4c3d-ae78-877e41983040', 'rel': 'bookmark'}]}, {'uuid': 'af56742c-23f4-48ce-a270-c94118d66768', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/af56742c-23f4-48ce-a270-c94118d66768', 'rel': 'self'}, {'href': 'http://localhost/chassis/af56742c-23f4-48ce-a270-c94118d66768', 'rel': 'bookmark'}]}, {'uuid': '720ba072-db37-4136-a62e-6627bf19e5ca', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/720ba072-db37-4136-a62e-6627bf19e5ca', 'rel': 'self'}, {'href': 'http://localhost/chassis/720ba072-db37-4136-a62e-6627bf19e5ca', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=extra,uuid&limit=3&marker=720ba072-db37-4136-a62e-6627bf19e5ca'} 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': '2021-01-19T06:02:17.048072+00:00'} PATCH: /v1/chassis/ca223131-6c0a-46f0-b72f-c4f907893676 [{'path': '/description', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4cb30b95-791d-44f6-a203-e2bef294b914 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "ca223131-6c0a-46f0-b72f-c4f907893676", "description": null, "extra": {"a": "b"}, "links": [{"href": "http://localhost/v1/chassis/ca223131-6c0a-46f0-b72f-c4f907893676", "rel": "self"}, {"href": "http://localhost/chassis/ca223131-6c0a-46f0-b72f-c4f907893676", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/chassis/ca223131-6c0a-46f0-b72f-c4f907893676/nodes", "rel": "self"}, {"href": "http://localhost/chassis/ca223131-6c0a-46f0-b72f-c4f907893676/nodes", "rel": "bookmark"}], "updated_at": "2021-01-19T06:02:17.104084+00:00", "created_at": "2021-01-19T06:02:17.085452+00:00"} GET: /v1/chassis/ca223131-6c0a-46f0-b72f-c4f907893676 {} GOT:{'uuid': 'ca223131-6c0a-46f0-b72f-c4f907893676', 'description': None, 'extra': {'a': 'b'}, 'links': [{'href': 'http://localhost/v1/chassis/ca223131-6c0a-46f0-b72f-c4f907893676', 'rel': 'self'}, {'href': 'http://localhost/chassis/ca223131-6c0a-46f0-b72f-c4f907893676', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/ca223131-6c0a-46f0-b72f-c4f907893676/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/ca223131-6c0a-46f0-b72f-c4f907893676/nodes', 'rel': 'bookmark'}], 'updated_at': '2021-01-19T06:02:17.104084+00:00', 'created_at': '2021-01-19T06:02:17.085452+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': '2021-01-19T06:02:17.136064+00:00', 'updated_at': '2021-01-19T06:02:17.135221+00:00'} GET: /v1/conductors/rocky.rocks {}{17} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_links [0.063151s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_non_existent [0.039694s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_name_with_json [0.034672s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_collection_links [0.050784s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_name [0.039778s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_step_string_priority [0.031161s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_node_api_policy [0.115071s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_expose.TestJsonRenderer.test_render_array [0.006429s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_conductor_unavailable [0.035572s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name [0.027118s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_query_false [0.097550s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_by_name [0.048118s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_fields [0.048369s] ... ok 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'}]}]} GET: /v1/conductors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-25a18788-f776-491b-80d4-4d2a24e37abe X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/deploy_templates?detail=True {} GOT:{'deploy_templates': [{'uuid': 'a7f2afef-0416-496d-aad8-764a348e895f', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/a7f2afef-0416-496d-aad8-764a348e895f', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a7f2afef-0416-496d-aad8-764a348e895f', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2021-01-19T06:02:17.068343+00:00', 'updated_at': None}]} PATCH: /v1/deploy_templates/3999e826-a2c4-4cb3-9efd-2d355a14f572 [{'path': '/steps', 'op': 'replace', 'value': []}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e9eaef38-aba0-4e6c-bcbc-ef287026fd11 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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/7c94a16e-e8a4-435c-930c-9614a5006347 [{'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-c4ba6439-1b70-4d51-ade2-1b4e23ee4f20 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute interface. Value: 'foo'. Value should be one of: raid, management, power, deploy, bios\", \"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/82305d7d-9ff1-4333-ad7a-061eef1bb719 Openstack-Request-Id: req-6bed1f95-256f-42c6-bdd1-5da979804250 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "82305d7d-9ff1-4333-ad7a-061eef1bb719", "name": "CUSTOM_DT1", "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/82305d7d-9ff1-4333-ad7a-061eef1bb719", "rel": "self"}, {"href": "http://localhost/deploy_templates/82305d7d-9ff1-4333-ad7a-061eef1bb719", "rel": "bookmark"}], "extra": {}, "created_at": "2021-01-19T06:02:17.205467+00:00", "updated_at": null} GET: /v1/deploy_templates/82305d7d-9ff1-4333-ad7a-061eef1bb719 {} GOT:{'uuid': '82305d7d-9ff1-4333-ad7a-061eef1bb719', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/82305d7d-9ff1-4333-ad7a-061eef1bb719', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/82305d7d-9ff1-4333-ad7a-061eef1bb719', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2021-01-19T06:02:17.205467+00:00', 'updated_at': None} GET: /v1/drivers/manual-management/properties {} GOT:{'prop1': 'Property 1. Required.'} 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': []}]} 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'}]} POST: /v1/nodes/node-39/vifs {'id': 'aac8ccbf-c87c-422b-bf26-3bddd6b37487'} GOT:Response: 204 No Content Openstack-Request-Id: req-28c59cbd-1740-4505-9cf2-67c28af8ea57 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {10} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_by_node_name [0.037909s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_one_bios [0.058271s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node [0.039629s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_instance_uuid [0.053530s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_description [0.107149s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden_no_project [0.031437s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states [0.046536s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_link [0.048150s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_node_not_found [0.046483s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource_no_port_id [0.043971s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource_no_connector_id [0.047730s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_id [0.047868s] ... 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/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\"}"} GET: /v1/allocations?owner=54321 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-2c5f7470-175f-48da-b19e-27e1e9c11f19 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/allocations {} GOT:{'allocations': [{'uuid': '7a6a53d4-e29a-4eea-b4a8-059072bddc22', 'extra': {}, 'node_uuid': None, 'name': 'allocation0', 'links': [{'href': 'http://localhost/v1/allocations/7a6a53d4-e29a-4eea-b4a8-059072bddc22', 'rel': 'self'}, {'href': 'http://localhost/allocations/7a6a53d4-e29a-4eea-b4a8-059072bddc22', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.637396+00:00', 'updated_at': None}, {'uuid': '8494f3ca-f0c3-4801-940d-0445eb47dbb5', 'extra': {}, 'node_uuid': None, 'name': 'allocation1', 'links': [{'href': 'http://localhost/v1/allocations/8494f3ca-f0c3-4801-940d-0445eb47dbb5', 'rel': 'self'}, {'href': 'http://localhost/allocations/8494f3ca-f0c3-4801-940d-0445eb47dbb5', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.639255+00:00', 'updated_at': None}, {'uuid': '6633444d-902a-4fcc-9f5a-6fe242045a19', 'extra': {}, 'node_uuid': None, 'name': 'allocation2', 'links': [{'href': 'http://localhost/v1/allocations/6633444d-902a-4fcc-9f5a-6fe242045a19', 'rel': 'self'}, {'href': 'http://localhost/allocations/6633444d-902a-4fcc-9f5a-6fe242045a19', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.640967+00:00', 'updated_at': None}], 'next': 'http://localhost/v1/allocations?sort_key=id&sort_dir=asc&limit=3&marker=6633444d-902a-4fcc-9f5a-6fe242045a19'} GET: /v1/allocations?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{'allocations': [{'uuid': 'a512b0b1-3ab7-4199-8627-0ee0cb2b516b', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/a512b0b1-3ab7-4199-8627-0ee0cb2b516b', 'rel': 'self'}, {'href': 'http://localhost/allocations/a512b0b1-3ab7-4199-8627-0ee0cb2b516b', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.685335+00:00', 'updated_at': None}]} GET: /v1/allocations?node=banana {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7f14de7a-c194-4ada-ada7-f2af2bd60c77 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node banana could not be found.\", \"debuginfo\": null}"} PATCH: /v1/allocations/91d5ea91-f2e3-4c9c-8f1a-6d9ba99791ba [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-93f105d8-317e-4449-b611-3a2a5d4689dc X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\", \"debuginfo\": null}"} PATCH: /v1/allocations/c4e5815b-8d00-40b1-b8e9-5881e84ea546 [{'path': '/name', 'value': '[test]', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d8966867-48c4-45e6-8267-e52e98571de4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update allocation with invalid name '[test]'\", \"debuginfo\": null}"} PATCH: /v1/allocations/f518256d-dabf-4438-944a-2e322dca9fd3 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 405 Method Not Allowed Content-Type: application/json Openstack-Request-Id: req-ab5a74e1-4550-4c98-9586-91691b70080f X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': 'ec889e97-ca7d-45f7-9fbe-d12c8230d509', 'owner': '12345'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/ec889e97-ca7d-45f7-9fbe-d12c8230d509 Openstack-Request-Id: req-22b81225-026e-4ea1-8a26-0b32c1162e92 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "ec889e97-ca7d-45f7-9fbe-d12c8230d509", "extra": {}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/ec889e97-ca7d-45f7-9fbe-d12c8230d509", "rel": "self"}, {"href": "http://localhost/allocations/ec889e97-ca7d-45f7-9fbe-d12c8230d509", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": "12345", "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.886399+00:00", "updated_at": null} GET: /v1/allocations/ec889e97-ca7d-45f7-9fbe-d12c8230d509 {} GOT:{'uuid': 'ec889e97-ca7d-45f7-9fbe-d12c8230d509', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/ec889e97-ca7d-45f7-9fbe-d12c8230d509', 'rel': 'self'}, {'href': 'http://localhost/allocations/ec889e97-ca7d-45f7-9fbe-d12c8230d509', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': '12345', 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.886399+00:00', 'updated_at': None} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '28bf87cb-14b5-48ee-b7e2-1c52ed25feef', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/28bf87cb-14b5-48ee-b7e2-1c52ed25feef Openstack-Request-Id: req-b49023ce-d006-430c-90bd-350d7d76e8cc X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"uuid": "28bf87cb-14b5-48ee-b7e2-1c52ed25feef", "extra": {}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/28bf87cb-14b5-48ee-b7e2-1c52ed25feef", "rel": "self"}, {"href": "http://localhost/allocations/28bf87cb-14b5-48ee-b7e2-1c52ed25feef", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": "12345", "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.935688+00:00", "updated_at": null} GET: /v1/allocations/28bf87cb-14b5-48ee-b7e2-1c52ed25feef {} GOT:{'uuid': '28bf87cb-14b5-48ee-b7e2-1c52ed25feef', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/28bf87cb-14b5-48ee-b7e2-1c52ed25feef', 'rel': 'self'}, {'href': 'http://localhost/allocations/28bf87cb-14b5-48ee-b7e2-1c52ed25feef', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': '12345', 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.935688+00:00', 'updated_at': None}{18} ironic.tests.unit.api.controllers.v1.test_allocation.TestPost.test_create_restricted_allocation [0.049507s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_chassis.TestChassisObject.test_chassis_sample [0.006450s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_chassis.TestDelete.test_delete_chassis [0.055424s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestDelete.test_delete_by_uuid_with_json [0.041400s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_many [0.053880s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key [0.045671s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_invalid [0.050276s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_duplicate_step [0.036446s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_name_none [0.027052s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_foo [0.026844s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_cannot_load [0.028299s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_delete [0.045899s] ... ok DELETE: /v1/allocations/9fd3318e-f678-431b-ac39-aac4809f28ba 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/allocations {} GOT:{'allocations': []} 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': '25ad2fe6-8908-41eb-811e-d13c9fc87ff7', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/25ad2fe6-8908-41eb-811e-d13c9fc87ff7 Openstack-Request-Id: req-711d22af-ece5-4b32-a1fd-ea939a330c84 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "25ad2fe6-8908-41eb-811e-d13c9fc87ff7", "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/25ad2fe6-8908-41eb-811e-d13c9fc87ff7", "rel": "self"}, {"href": "http://localhost/allocations/25ad2fe6-8908-41eb-811e-d13c9fc87ff7", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": null, "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.646102+00:00", "updated_at": null} GET: /v1/allocations/25ad2fe6-8908-41eb-811e-d13c9fc87ff7 {} GOT:{'uuid': '25ad2fe6-8908-41eb-811e-d13c9fc87ff7', '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/25ad2fe6-8908-41eb-811e-d13c9fc87ff7', 'rel': 'self'}, {'href': 'http://localhost/allocations/25ad2fe6-8908-41eb-811e-d13c9fc87ff7', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.646102+00:00', 'updated_at': None} POST: /v1/allocations {'candidate_nodes': ['node-1', '3518025c-c74c-4dee-b5db-29396d51dd1c'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '0c412a58-1995-4754-8572-410f65d41957', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/0c412a58-1995-4754-8572-410f65d41957 Openstack-Request-Id: req-be4d86f2-9e6b-4c72-857d-d4799b37c48b X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "0c412a58-1995-4754-8572-410f65d41957", "extra": {}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/0c412a58-1995-4754-8572-410f65d41957", "rel": "self"}, {"href": "http://localhost/allocations/0c412a58-1995-4754-8572-410f65d41957", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": null, "candidate_nodes": ["1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "3518025c-c74c-4dee-b5db-29396d51dd1c"], "traits": [], "created_at": "2021-01-19T06:02:16.706217+00:00", "updated_at": null} GET: /v1/allocations/0c412a58-1995-4754-8572-410f65d41957 {} GOT:{'uuid': '0c412a58-1995-4754-8572-410f65d41957', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/0c412a58-1995-4754-8572-410f65d41957', 'rel': 'self'}, {'href': 'http://localhost/allocations/0c412a58-1995-4754-8572-410f65d41957', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': ['1be26c0b-03f2-4d2e-ae87-c02d7f33c123', '3518025c-c74c-4dee-b5db-29396d51dd1c'], 'traits': [], 'created_at': '2021-01-19T06:02:16.706217+00:00', 'updated_at': None} GET: /v1/chassis?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-163572d4-81e7-4b3d-956a-34d5571f5cd9 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/c3714095-1e67-42ba-adad-08a0faee075d {} GOT:{'uuid': 'c3714095-1e67-42ba-adad-08a0faee075d', 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/c3714095-1e67-42ba-adad-08a0faee075d', 'rel': 'self'}, {'href': 'http://foo/chassis/c3714095-1e67-42ba-adad-08a0faee075d', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://foo/v1/chassis/c3714095-1e67-42ba-adad-08a0faee075d/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/c3714095-1e67-42ba-adad-08a0faee075d/nodes', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2021-01-19T06:02:16.767033+00:00'} GET: /v1/chassis/c3714095-1e67-42ba-adad-08a0faee075d {} GOT:{'uuid': 'c3714095-1e67-42ba-adad-08a0faee075d', 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/c3714095-1e67-42ba-adad-08a0faee075d', 'rel': 'self'}, {'href': 'http://foo/chassis/c3714095-1e67-42ba-adad-08a0faee075d', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://foo/v1/chassis/c3714095-1e67-42ba-adad-08a0faee075d/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/c3714095-1e67-42ba-adad-08a0faee075d/nodes', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2021-01-19T06:02:16.767033+00:00'} GET: /chassis/c3714095-1e67-42ba-adad-08a0faee075d {} GOT:{'uuid': 'c3714095-1e67-42ba-adad-08a0faee075d', 'description': 'data-center-1-chassis', 'extra': {}, 'links': [{'href': 'http://foo/v1/chassis/c3714095-1e67-42ba-adad-08a0faee075d', 'rel': 'self'}, {'href': 'http://foo/chassis/c3714095-1e67-42ba-adad-08a0faee075d', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://foo/v1/chassis/c3714095-1e67-42ba-adad-08a0faee075d/nodes', 'rel': 'self'}, {'href': 'http://foo/chassis/c3714095-1e67-42ba-adad-08a0faee075d/nodes', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2021-01-19T06:02:16.767033+00:00'} PATCH: /v1/chassis/e8594aea-1e81-4860-92df-a427368ffd6e [{'path': '/extra/foo2', 'value': 'new value', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-46799243-cad6-42a4-bf10-ad3d3e5a539b X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e8594aea-1e81-4860-92df-a427368ffd6e", "description": "data-center-1-chassis", "extra": {"foo1": "bar1", "foo2": "new value", "foo3": "bar3"}, "links": [{"href": "http://localhost/v1/chassis/e8594aea-1e81-4860-92df-a427368ffd6e", "rel": "self"}, {"href": "http://localhost/chassis/e8594aea-1e81-4860-92df-a427368ffd6e", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/chassis/e8594aea-1e81-4860-92df-a427368ffd6e/nodes", "rel": "self"}, {"href": "http://localhost/chassis/e8594aea-1e81-4860-92df-a427368ffd6e/nodes", "rel": "bookmark"}], "updated_at": "2021-01-19T06:02:16.846477+00:00", "created_at": "2021-01-19T06:02:16.827389+00:00"} GET: /v1/chassis/e8594aea-1e81-4860-92df-a427368ffd6e {} GOT:{'uuid': 'e8594aea-1e81-4860-92df-a427368ffd6e', 'description': 'data-center-1-chassis', 'extra': {'foo1': 'bar1', 'foo2': 'new value', 'foo3': 'bar3'}, 'links': [{'href': 'http://localhost/v1/chassis/e8594aea-1e81-4860-92df-a427368ffd6e', 'rel': 'self'}, {'href': 'http://localhost/chassis/e8594aea-1e81-4860-92df-a427368ffd6e', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/e8594aea-1e81-4860-92df-a427368ffd6e/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/e8594aea-1e81-4860-92df-a427368ffd6e/nodes', 'rel': 'bookmark'}], 'updated_at': '2021-01-19T06:02:16.846477+00:00', 'created_at': '2021-01-19T06:02:16.827389+00:00'} GET: /v1/conductors/rocky.rocks?fields=hostname,spongebob {}{12} ironic.tests.unit.api.controllers.v1.test_conductor.TestListConductors.test_get_custom_fields_invalid_fields [0.036727s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id_invalid_api_version [0.023270s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_api_version [0.017770s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_driver_not_found [0.032250s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_cached [0.060559s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_expose.TestExpose.test_exception [0.023645s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_error [0.062496s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_custom_fields [0.090344s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_using_query_and_fields [0.036582s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_group_fields_invalid_api_version [0.042855s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_console_information_console_disabled [0.051355s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_double_json [0.047106s] ... ok GOT:{'uuid': 'd41f4b69-ad67-4a38-be08-ff7b694918f4', 'description': 'foobar', 'extra': {}, 'links': [{'href': 'http://localhost/v1/chassis/d41f4b69-ad67-4a38-be08-ff7b694918f4', 'rel': 'self'}, {'href': 'http://localhost/chassis/d41f4b69-ad67-4a38-be08-ff7b694918f4', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/chassis/d41f4b69-ad67-4a38-be08-ff7b694918f4/nodes', 'rel': 'self'}, {'href': 'http://localhost/chassis/d41f4b69-ad67-4a38-be08-ff7b694918f4/nodes', 'rel': 'bookmark'}], 'updated_at': '2021-01-19T06:02:16.919164+00:00', 'created_at': '2021-01-19T06:02:16.871036+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-a93fff9f-2e1e-4bd0-b183-6e765ce87a38 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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 {'extra': {}, 'description': 'data-center-1-chassis'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/chassis/4aaa232a-7bf1-40c4-9297-71b07fc3bca8 Openstack-Request-Id: req-7e916faa-5866-4f14-97bd-c4636015f154 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "4aaa232a-7bf1-40c4-9297-71b07fc3bca8", "description": "data-center-1-chassis", "extra": {}, "links": [{"href": "http://localhost/v1/chassis/4aaa232a-7bf1-40c4-9297-71b07fc3bca8", "rel": "self"}, {"href": "http://localhost/chassis/4aaa232a-7bf1-40c4-9297-71b07fc3bca8", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/chassis/4aaa232a-7bf1-40c4-9297-71b07fc3bca8/nodes", "rel": "self"}, {"href": "http://localhost/chassis/4aaa232a-7bf1-40c4-9297-71b07fc3bca8/nodes", "rel": "bookmark"}], "updated_at": null, "created_at": "2021-01-19T06:02:16.993184+00:00"} GET: /v1/chassis {} GOT:{'chassis': [{'uuid': '4aaa232a-7bf1-40c4-9297-71b07fc3bca8', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/4aaa232a-7bf1-40c4-9297-71b07fc3bca8', 'rel': 'self'}, {'href': 'http://localhost/chassis/4aaa232a-7bf1-40c4-9297-71b07fc3bca8', 'rel': 'bookmark'}]}]} 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-fd842998-c600-4c9c-91f0-aeb731a4dd8e X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} GET: /v1/conductors?fields=hostname,alive {} GOT:{'conductors': [{'hostname': 'af7b9c00-4a34-4a52-ace4-b7362d9c0e22', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/af7b9c00-4a34-4a52-ace4-b7362d9c0e22', 'rel': 'self'}, {'href': 'http://localhost/conductors/af7b9c00-4a34-4a52-ace4-b7362d9c0e22', 'rel': 'bookmark'}]}, {'hostname': '4c0ac7aa-e382-4939-9edc-b064a5672e85', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/4c0ac7aa-e382-4939-9edc-b064a5672e85', 'rel': 'self'}, {'href': 'http://localhost/conductors/4c0ac7aa-e382-4939-9edc-b064a5672e85', 'rel': 'bookmark'}]}, {'hostname': '0d225ef9-7fd3-4d75-81cb-1282dfe2f417', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/0d225ef9-7fd3-4d75-81cb-1282dfe2f417', 'rel': 'self'}, {'href': 'http://localhost/conductors/0d225ef9-7fd3-4d75-81cb-1282dfe2f417', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,alive&limit=3&marker=0d225ef9-7fd3-4d75-81cb-1282dfe2f417'} GET: /v1/conductors/rocky.rocks {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-21ce6431-4844-47bb-81bc-6851af0cad93 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} DELETE: /v1/deploy_templates/6b2c885c-b18f-41fe-a1e8-793578b2ff8c 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 {} GOT:{'deploy_templates': [{'uuid': '0b9a5bbe-2549-496d-864e-f1f9d272b15b', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/0b9a5bbe-2549-496d-864e-f1f9d272b15b', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/0b9a5bbe-2549-496d-864e-f1f9d272b15b', 'rel': 'bookmark'}]}, {'uuid': 'f10983b5-8c5f-4b3d-8f69-5c18433294d0', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/f10983b5-8c5f-4b3d-8f69-5c18433294d0', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f10983b5-8c5f-4b3d-8f69-5c18433294d0', 'rel': 'bookmark'}]}, {'uuid': '9ca060ef-bfc6-41e1-ab1d-507bbf1dbca8', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/9ca060ef-bfc6-41e1-ab1d-507bbf1dbca8', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/9ca060ef-bfc6-41e1-ab1d-507bbf1dbca8', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=9ca060ef-bfc6-41e1-ab1d-507bbf1dbca8'} GET: /v1/deploy_templates?fields=name&limit=2 {} GOT:{'deploy_templates': [{'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/3d4b5d08-c688-4874-b476-ab39cd159cce', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/3d4b5d08-c688-4874-b476-ab39cd159cce', 'rel': 'bookmark'}]}, {'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/17e69722-3180-4738-91ad-99d98e16f137', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/17e69722-3180-4738-91ad-99d98e16f137', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=17e69722-3180-4738-91ad-99d98e16f137'} GET: /v1/deploy_templates/5fd21d0e-24dc-4271-8c56-850aefdb5c4e {} GOT:{'uuid': '5fd21d0e-24dc-4271-8c56-850aefdb5c4e', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/5fd21d0e-24dc-4271-8c56-850aefdb5c4e', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/5fd21d0e-24dc-4271-8c56-850aefdb5c4e', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2021-01-19T06:02:17.247076+00:00', 'updated_at': None} PATCH: /v1/deploy_templates/34a50857-3397-4104-bf0a-88f63ac8c0a2 [{'path': '/uuid', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-02801236-bdac-4821-be70-03a75567b06e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '8f45a0c3-71bc-47c1-8e81-d26bef43e954', '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-977323a6-a59a-4598-9e77-56e4ce79224d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '08f883f2-3e6a-4c7c-9e2a-f85e99881029', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': 42}{9} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_field_extra [0.026660s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_name_invalid_not_a_trait [0.026431s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_step_field_interface [0.026352s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_vendor_passthru_async [0.041753s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unknown_event_property [0.023797s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_expose.TestJsonRenderer.test_render_exception [0.006575s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_expose.TestJsonRenderer.test_user_type [0.005854s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach [0.039375s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_list [0.037124s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_collection_links_instance_uuid_param [0.049830s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group_not_allowed [0.039598s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state_not_allowed [0.031706s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields_invalid_api_version [0.046058s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices_by_name [0.047159s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_error [0.030473s] ... ok 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-a6c57450-db4f-49ad-a7ab-073d1d950480 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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-2f123bad-7060-484c-bbf4-d0e2293a76bb X-Openstack-Ironic-Api-Maximum-Version: 1.68 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 {} GOT:{'conductors': [{'hostname': 'a031333f-5f4c-4145-b421-664a6e86940f', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/a031333f-5f4c-4145-b421-664a6e86940f', 'rel': 'self'}, {'href': 'http://localhost/conductors/a031333f-5f4c-4145-b421-664a6e86940f', 'rel': 'bookmark'}]}, {'hostname': '698d2292-4b85-4b6f-a334-17879aceb61f', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/698d2292-4b85-4b6f-a334-17879aceb61f', 'rel': 'self'}, {'href': 'http://localhost/conductors/698d2292-4b85-4b6f-a334-17879aceb61f', 'rel': 'bookmark'}]}, {'hostname': '1d90aeea-5464-4fb9-8ed0-2193facce500', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/1d90aeea-5464-4fb9-8ed0-2193facce500', 'rel': 'self'}, {'href': 'http://localhost/conductors/1d90aeea-5464-4fb9-8ed0-2193facce500', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=1d90aeea-5464-4fb9-8ed0-2193facce500'} DELETE: /v1/deploy_templates/CUSTOM_DT1 GOT:Response: 204 No Content Openstack-Request-Id: req-d63ef6f3-0d3d-4ec7-8c9c-9367014efd30 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 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-6ccbd525-678f-49aa-8d41-ce71a2be8885 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '3f2a83bf-2517-41fd-8a20-72652381e343', 'port_uuid': 'port-uuid', 'portgroup_uuid': 'portgroup-uuid'} GOT:Response: 204 No Content Openstack-Request-Id: req-7c114095-163b-4463-b72c-a32d0892b1a1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 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?associated=true {} GOT:{'nodes': [{'uuid': 'a40f7104-a372-4a00-a809-6549d89b6429', 'instance_uuid': '9560a282-dd84-46ac-992d-5f8a4c2c49c6', '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/a40f7104-a372-4a00-a809-6549d89b6429', 'rel': 'self'}, {'href': 'http://localhost/nodes/a40f7104-a372-4a00-a809-6549d89b6429', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/a40f7104-a372-4a00-a809-6549d89b6429/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a40f7104-a372-4a00-a809-6549d89b6429/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2021-01-19T06:02:17.477337+00:00'}, {'uuid': '3b6da0dc-e581-41c8-adeb-a2fd10a13f3f', 'instance_uuid': '22461980-f8fc-4652-aa53-a49b93f4addb', '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/3b6da0dc-e581-41c8-adeb-a2fd10a13f3f', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b6da0dc-e581-41c8-adeb-a2fd10a13f3f', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/3b6da0dc-e581-41c8-adeb-a2fd10a13f3f/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3b6da0dc-e581-41c8-adeb-a2fd10a13f3f/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2021-01-19T06:02:17.481611+00:00'}, {'uuid': '907e42f6-5d07-4c0d-a4fd-70fdd3e983f6', 'instance_uuid': '44f318a0-8451-4692-ac20-61e757f9ad00', '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/907e42f6-5d07-4c0d-a4fd-70fdd3e983f6', 'rel': 'self'}, {'href': 'http://localhost/nodes/907e42f6-5d07-4c0d-a4fd-70fdd3e983f6', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/907e42f6-5d07-4c0d-a4fd-70fdd3e983f6/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/907e42f6-5d07-4c0d-a4fd-70fdd3e983f6/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2021-01-19T06:02:17.485819+00:00'}, {'uuid': '7bc29544-334a-4da5-87f5-8177192bb57f', 'instance_uuid': 'fe4e4d66-52b5-4a95-a3dc-0ca463e61a14', '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/7bc29544-334a-4da5-87f5-8177192bb57f', 'rel': 'self'}, {'href': 'http://localhost/nodes/7bc29544-334a-4da5-87f5-8177192bb57f', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/7bc29544-334a-4da5-87f5-8177192bb57f/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7bc29544-334a-4da5-87f5-8177192bb57f/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2021-01-19T06:02:17.490015+00:00'}]}{13} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_with_association_filter [0.094580s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_lessee_field [0.045624s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver [0.101538s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_provision_state [0.098848s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_traits_fields_invalid_api_version [0.046670s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_links_public_url [0.083025s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_wrong_uuid [0.042633s] ... ok GET: /v1/allocations {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d3fa9fc0-290e-4463-bc29-1e0897d33bd4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} PATCH: /v1/allocations/612c0fe6-37f8-464a-a3b2-1ab8934fc476 [{'path': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6762d59c-2a06-4f6d-8b03-9f17dd5c5426 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update /foo in an allocation. Only 'name' and 'extra' are allowed to be updated.\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'df422bd8-6843-4586-be5e-f4230f651456', 'owner': None, 'node': 'backfill-me'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/df422bd8-6843-4586-be5e-f4230f651456 Openstack-Request-Id: req-fbae6d4b-05de-4b43-84db-c6a5f5754480 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "df422bd8-6843-4586-be5e-f4230f651456", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/allocations/df422bd8-6843-4586-be5e-f4230f651456", "rel": "self"}, {"href": "http://localhost/allocations/df422bd8-6843-4586-be5e-f4230f651456", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": null, "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.773935+00:00", "updated_at": null} GET: /v1/allocations/df422bd8-6843-4586-be5e-f4230f651456 {} GOT:{'uuid': 'df422bd8-6843-4586-be5e-f4230f651456', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/df422bd8-6843-4586-be5e-f4230f651456', 'rel': 'self'}, {'href': 'http://localhost/allocations/df422bd8-6843-4586-be5e-f4230f651456', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.773935+00:00', 'updated_at': None} GET: /v1/chassis/?limit=3 {} GOT:{'chassis': [{'uuid': 'efd80c99-46a9-4031-9ade-4243dd6a6721', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/efd80c99-46a9-4031-9ade-4243dd6a6721', 'rel': 'self'}, {'href': 'http://localhost/chassis/efd80c99-46a9-4031-9ade-4243dd6a6721', 'rel': 'bookmark'}]}, {'uuid': '3b9976b6-a9d5-45b3-81e5-47b173a8a18e', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/3b9976b6-a9d5-45b3-81e5-47b173a8a18e', 'rel': 'self'}, {'href': 'http://localhost/chassis/3b9976b6-a9d5-45b3-81e5-47b173a8a18e', 'rel': 'bookmark'}]}, {'uuid': 'b33e3ff2-2366-4a81-97ff-baa79fd8cb8c', 'description': 'data-center-1-chassis', 'links': [{'href': 'http://localhost/v1/chassis/b33e3ff2-2366-4a81-97ff-baa79fd8cb8c', 'rel': 'self'}, {'href': 'http://localhost/chassis/b33e3ff2-2366-4a81-97ff-baa79fd8cb8c', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/chassis?sort_key=id&sort_dir=asc&fields=uuid,description&limit=3&marker=b33e3ff2-2366-4a81-97ff-baa79fd8cb8c'} GET: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3b5aa58d-43b6-4bb6-b064-083be877ceaf X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} 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-1e3f6128-b6c9-49ec-9816-042d7759bae0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} GET: /v1/deploy_templates {} GOT:{'deploy_templates': [{'uuid': '0bced5b9-66ea-4ea1-9469-5606e03a4fd1', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/0bced5b9-66ea-4ea1-9469-5606e03a4fd1', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/0bced5b9-66ea-4ea1-9469-5606e03a4fd1', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?detail=False {} GOT:{'deploy_templates': [{'uuid': '0bced5b9-66ea-4ea1-9469-5606e03a4fd1', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/0bced5b9-66ea-4ea1-9469-5606e03a4fd1', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/0bced5b9-66ea-4ea1-9469-5606e03a4fd1', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates {} GOT:{'deploy_templates': []} PATCH: /v1/deploy_templates/4a725c2d-6d32-4371-a1d7-c6911d38dccf [{'path': '/name', 'op': 'replace', 'value': 'not-a-trait'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6c45f038-b664-45ff-b78a-44b9b4305bd5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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/bd734df7-c5f5-4e90-90d9-ae39f46279ec [{'path': '/steps/0/interface', 'op': 'replace', 'value': 'foo'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e529318d-6d47-4743-ab3b-dce0a8c976ee X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute interface. Value: 'foo'. Value should be one of: bios, deploy, management, raid, power\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '94b279a5-a019-470c-b1d9-5f715c434de2', '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/94b279a5-a019-470c-b1d9-5f715c434de2 Openstack-Request-Id: req-bb7fa2ce-5262-4f3c-8bc4-9d461c0a4d8f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "94b279a5-a019-470c-b1d9-5f715c434de2", "name": "CUSTOM_DT1", "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/94b279a5-a019-470c-b1d9-5f715c434de2", "rel": "self"}, {"href": "http://localhost/deploy_templates/94b279a5-a019-470c-b1d9-5f715c434de2", "rel": "bookmark"}], "extra": {}, "created_at": "2021-01-19T06:02:17.112084+00:00", "updated_at": null} GET: /v1/deploy_templates/94b279a5-a019-470c-b1d9-5f715c434de2 {} GOT:{'uuid': '94b279a5-a019-470c-b1d9-5f715c434de2', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/94b279a5-a019-470c-b1d9-5f715c434de2', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/94b279a5-a019-470c-b1d9-5f715c434de2', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2021-01-19T06:02:17.112084+00:00', 'updated_at': None}{19} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_doesnt_contain_id [0.047382s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_interface1 [0.026918s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_device_id [0.024974s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_expose.TestExposedAPIMethodsCheckPolicy.test_port_api_policy [0.042746s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_locked [0.036740s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_port_uuid_and_portgroup_uuid [0.038844s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_subcontroller_old_version [0.026666s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios [0.058608s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_args_value_invalid [0.010060s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault_with_invalid_fault [0.039844s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_driver [0.054831s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one [0.047514s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_storage_interface_fields [0.046270s] ... ok DELETE: /v1/allocations/alloc1.json GOT:Response: 204 No Content Openstack-Request-Id: req-e16fea26-abee-496b-9b57-3161fd7490e7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 DELETE: /v1/nodes/fd954828-da6a-4f35-9c00-b3b36323b396/allocation GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-688caea0-4138-4dc4-93fa-86e4aba48314 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Allocation for node fd954828-da6a-4f35-9c00-b3b36323b396 was not found\", \"debuginfo\": null}"} POST: /v1/allocations {'node': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/2ff0d7ad-995d-4ad4-bc2e-0636c80ed4ab Openstack-Request-Id: req-ab790fe3-a086-4e04-8ccf-18f14b06cf82 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "2ff0d7ad-995d-4ad4-bc2e-0636c80ed4ab", "extra": {}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "name": null, "links": [{"href": "http://localhost/v1/allocations/2ff0d7ad-995d-4ad4-bc2e-0636c80ed4ab", "rel": "self"}, {"href": "http://localhost/allocations/2ff0d7ad-995d-4ad4-bc2e-0636c80ed4ab", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "bm-super", "owner": null, "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.767122+00:00", "updated_at": null} GET: /v1/allocations/2ff0d7ad-995d-4ad4-bc2e-0636c80ed4ab {} GOT:{'uuid': '2ff0d7ad-995d-4ad4-bc2e-0636c80ed4ab', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/2ff0d7ad-995d-4ad4-bc2e-0636c80ed4ab', 'rel': 'self'}, {'href': 'http://localhost/allocations/2ff0d7ad-995d-4ad4-bc2e-0636c80ed4ab', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'bm-super', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.767122+00:00', 'updated_at': None} POST: /v1/allocations {'candidate_nodes': ['this/is/not a/node/name'], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '81108c07-5f5e-49b3-9d29-299a38b1ca99', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e76ab157-eb32-4f3b-8dca-b7ef99a951cc X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Nodes cannot be found: this/is/not a/node/name\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': ['CUSTOM_GPU', 'FOO_BAR'], 'uuid': '3b7352e8-a1c9-4e66-a09b-fdf6539e325a', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2bffced4-c546-423f-93e5-7894a882f728 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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}"} 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': '2021-01-19T06:02:16.869220+00:00'}]} 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-40b0bf45-5a8a-4646-a9df-b3a098f26716 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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/deploy_templates/4daad449-ef10-4fd4-af23-badbf65da8ba.json {} GOT:{'uuid': '4daad449-ef10-4fd4-af23-badbf65da8ba', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/4daad449-ef10-4fd4-af23-badbf65da8ba', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/4daad449-ef10-4fd4-af23-badbf65da8ba', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2021-01-19T06:02:16.976555+00:00', 'updated_at': None} GET: /v1/deploy_templates/49680eba-a72f-4d9f-afbc-a4facca666c2 {} GOT:{'uuid': '49680eba-a72f-4d9f-afbc-a4facca666c2', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/49680eba-a72f-4d9f-afbc-a4facca666c2', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/49680eba-a72f-4d9f-afbc-a4facca666c2', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2021-01-19T06:02:17.016509+00:00', 'updated_at': None} GET: /v1/deploy_templates/49680eba-a72f-4d9f-afbc-a4facca666c2 {} GOT:{'uuid': '49680eba-a72f-4d9f-afbc-a4facca666c2', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/49680eba-a72f-4d9f-afbc-a4facca666c2', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/49680eba-a72f-4d9f-afbc-a4facca666c2', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2021-01-19T06:02:17.016509+00:00', 'updated_at': None} GET: /deploy_templates/49680eba-a72f-4d9f-afbc-a4facca666c2 {} GOT:{'uuid': '49680eba-a72f-4d9f-afbc-a4facca666c2', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/49680eba-a72f-4d9f-afbc-a4facca666c2', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/49680eba-a72f-4d9f-afbc-a4facca666c2', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2021-01-19T06:02:17.016509+00:00', 'updated_at': None} GET: /v1/deploy_templates?sort_key=name&detail=False {} GOT:{'deploy_templates': [{'uuid': '3278980b-fcef-4584-9afe-45391c923530', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/3278980b-fcef-4584-9afe-45391c923530', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/3278980b-fcef-4584-9afe-45391c923530', 'rel': 'bookmark'}]}, {'uuid': '9c58e1d7-d8cc-4530-8868-2f4fa16fc791', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/9c58e1d7-d8cc-4530-8868-2f4fa16fc791', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/9c58e1d7-d8cc-4530-8868-2f4fa16fc791', 'rel': 'bookmark'}]}, {'uuid': 'a21b8acb-8f65-42b7-a4f3-6b66e56075c4', 'name': 'CUSTOM_DT3', 'links': [{'href': 'http://localhost/v1/deploy_templates/a21b8acb-8f65-42b7-a4f3-6b66e56075c4', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a21b8acb-8f65-42b7-a4f3-6b66e56075c4', 'rel': 'bookmark'}]}]}{5} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestListDeployTemplates.test_sort_key_allowed [0.048237s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_update_by_id [0.040783s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_invalid_step_field_negative_priority [0.026472s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_driver.TestDriverProperties.test_driver_properties_invalid_driver_name [0.026381s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_driver_type_hidden_in_lower_version [0.042560s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_not_found [0.030568s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_latest_interfaces [0.091103s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic [0.098290s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_events [0.023854s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_delete_port_events [0.023908s] ... ok DELETE: /v1/allocations/alloc1 GOT:Response: 204 No Content Openstack-Request-Id: req-00f3529f-b339-48a5-b3da-4a34f657f7c0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/allocation?fields=name,extra {} GOT:{'extra': {}, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/9898de8f-3f51-4a8d-93ec-4f274e264a98', 'rel': 'self'}, {'href': 'http://localhost/allocations/9898de8f-3f51-4a8d-93ec-4f274e264a98', 'rel': 'bookmark'}]} PATCH: /v1/allocations/c9733630-9701-4fda-b07c-51abffc8205d [{'path': '/name', 'value': 'new', 'op': 'replace'}] GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-2cbb2439-46a1-4bd5-bf90-2aac725574cd X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} POST: /v1/allocations {'candidate_nodes': [], 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': '8095d873-b0c7-40f8-b77e-57e867f5d92f', 'owner': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/allocations/8095d873-b0c7-40f8-b77e-57e867f5d92f Openstack-Request-Id: req-a1090545-8cf8-4a6d-a5e0-894798823f28 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "8095d873-b0c7-40f8-b77e-57e867f5d92f", "extra": {}, "node_uuid": null, "name": null, "links": [{"href": "http://localhost/v1/allocations/8095d873-b0c7-40f8-b77e-57e867f5d92f", "rel": "self"}, {"href": "http://localhost/allocations/8095d873-b0c7-40f8-b77e-57e867f5d92f", "rel": "bookmark"}], "state": "allocating", "last_error": null, "resource_class": "baremetal", "owner": null, "candidate_nodes": [], "traits": [], "created_at": "2021-01-19T06:02:16.757056+00:00", "updated_at": null} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'baremetal', 'traits': [], 'uuid': 'c8534f55-d703-4638-a741-6aa95f4d451a', 'owner': None} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-ff9b9a77-391e-4b1f-a5c6-9d2d262956bf X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} 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-95afb222-c58d-4c0e-936f-700632af4cec X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:16.818911+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': '2021-01-19T06:02:16.818911+00:00'} GET: /v1/conductors/?limit=3 {} GOT:{'conductors': [{'hostname': '31935bb1-1865-401d-baa4-7d9c8d1366f9', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/31935bb1-1865-401d-baa4-7d9c8d1366f9', 'rel': 'self'}, {'href': 'http://localhost/conductors/31935bb1-1865-401d-baa4-7d9c8d1366f9', 'rel': 'bookmark'}]}, {'hostname': 'ea085ff0-dddf-4c94-b8e1-6c47f4d116b6', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/ea085ff0-dddf-4c94-b8e1-6c47f4d116b6', 'rel': 'self'}, {'href': 'http://localhost/conductors/ea085ff0-dddf-4c94-b8e1-6c47f4d116b6', 'rel': 'bookmark'}]}, {'hostname': 'f0d8ff00-16ee-4e27-ab29-156b1d57fe6f', 'conductor_group': '', 'alive': True, 'links': [{'href': 'http://localhost/v1/conductors/f0d8ff00-16ee-4e27-ab29-156b1d57fe6f', 'rel': 'self'}, {'href': 'http://localhost/conductors/f0d8ff00-16ee-4e27-ab29-156b1d57fe6f', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/conductors?sort_key=id&sort_dir=asc&fields=hostname,conductor_group,alive&limit=3&marker=f0d8ff00-16ee-4e27-ab29-156b1d57fe6f'} GET: /v1/deploy_templates?sort_key=name&detail=True {} GOT:{'deploy_templates': [{'uuid': 'ac2b023f-3242-4ea0-89da-620f7d6099e1', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/ac2b023f-3242-4ea0-89da-620f7d6099e1', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/ac2b023f-3242-4ea0-89da-620f7d6099e1', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2021-01-19T06:02:16.907285+00:00', 'updated_at': None}, {'uuid': 'f52841b9-8145-4666-a3a1-3904e549ac96', 'name': 'CUSTOM_DT2', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/f52841b9-8145-4666-a3a1-3904e549ac96', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/f52841b9-8145-4666-a3a1-3904e549ac96', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2021-01-19T06:02:16.904764+00:00', 'updated_at': None}, {'uuid': '0805c4ec-37fc-4bee-b45c-c40758e0e6ee', 'name': 'CUSTOM_DT3', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/0805c4ec-37fc-4bee-b45c-c40758e0e6ee', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/0805c4ec-37fc-4bee-b45c-c40758e0e6ee', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2021-01-19T06:02:16.899429+00:00', 'updated_at': None}]} 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/a59eb3f9-207b-4a19-90d4-77293f8a98e6', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/a59eb3f9-207b-4a19-90d4-77293f8a98e6', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates/db248d9f-0969-4932-91e7-fe8c2c1fefec?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ecc318e8-7a72-4392-b1d5-117e6182cd87 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/6eac85d5-e325-440c-8e7b-52575d756ff7 [{'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'}]{11} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_add_multi [0.037718s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPatch.test_replace_invalid_name_too_long [0.035743s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_deploy_template.TestPost.test_create_no_mandatory_field_name [0.026885s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_with_dynamic_detailed [0.102970s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_older_version [0.036796s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_port_id [0.023863s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_expose.TestJsonRenderer.test_render_int [0.006173s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_volume_targets_subresource [0.042171s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_automated_clean_fields [0.045904s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device [0.050557s] ... ok GET: /nodes/9646b5d8-703d-45ae-9a8d-9a4589738103 {} GOT:{'uuid': '9646b5d8-703d-45ae-9a8d-9a4589738103', '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/9646b5d8-703d-45ae-9a8d-9a4589738103', 'rel': 'self'}, {'href': 'http://localhost/nodes/9646b5d8-703d-45ae-9a8d-9a4589738103', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/9646b5d8-703d-45ae-9a8d-9a4589738103/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/9646b5d8-703d-45ae-9a8d-9a4589738103/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2021-01-19T06:02:17.261936+00:00'} GET: /v1/nodes/detail?limit=3&associated=true {} GOT:{'nodes': [{'uuid': '42580f76-2673-4896-8598-df11c8ab6f3d', 'instance_uuid': 'f6b6a3be-498e-4ed3-b620-46285ac8e28f', '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/42580f76-2673-4896-8598-df11c8ab6f3d', 'rel': 'self'}, {'href': 'http://localhost/nodes/42580f76-2673-4896-8598-df11c8ab6f3d', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/42580f76-2673-4896-8598-df11c8ab6f3d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/42580f76-2673-4896-8598-df11c8ab6f3d/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2021-01-19T06:02:17.361928+00:00'}, {'uuid': '3c1b3eb6-3531-4347-a7fd-3b26719c87a6', 'instance_uuid': 'e1c55d9e-0cf5-4f22-9448-10545b852b9c', '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/3c1b3eb6-3531-4347-a7fd-3b26719c87a6', 'rel': 'self'}, {'href': 'http://localhost/nodes/3c1b3eb6-3531-4347-a7fd-3b26719c87a6', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/3c1b3eb6-3531-4347-a7fd-3b26719c87a6/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3c1b3eb6-3531-4347-a7fd-3b26719c87a6/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2021-01-19T06:02:17.366530+00:00'}, {'uuid': 'a6ab0683-a29a-4d55-b11d-f7ffaf015b20', 'instance_uuid': '843ec622-e3f1-4ec7-851a-3fd3e84f879b', '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/a6ab0683-a29a-4d55-b11d-f7ffaf015b20', 'rel': 'self'}, {'href': 'http://localhost/nodes/a6ab0683-a29a-4d55-b11d-f7ffaf015b20', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/a6ab0683-a29a-4d55-b11d-f7ffaf015b20/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a6ab0683-a29a-4d55-b11d-f7ffaf015b20/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2021-01-19T06:02:17.370750+00:00'}], 'next': 'http://localhost/v1/nodes/detail?sort_key=id&sort_dir=asc&associated=True&limit=3&marker=a6ab0683-a29a-4d55-b11d-f7ffaf015b20'} 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': '2021-01-19T06:02:17.437939+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, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.437939+00:00'}{2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_deploy_step_hidden_in_lower_version [0.065265s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_hidden_in_lower_version [0.070311s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_with_reason [0.045086s] ... 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': '2021-01-19T06:02:17.006351+00:00'} 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-8776618b-711b-431b-ac8d-797676456649 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:17.048976+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': '2021-01-19T06:02:17.048976+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': '2021-01-19T06:02:17.080837+00:00', 'updated_at': '2021-01-19T06:02:17.079949+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': '2021-01-19T06:02:17.080837+00:00', 'updated_at': '2021-01-19T06:02:17.079949+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': '2021-01-19T06:02:17.080837+00:00', 'updated_at': '2021-01-19T06:02:17.079949+00:00'} 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': '2021-01-19T06:02:17.141438+00:00', 'updated_at': '2021-01-19T06:02:17.141074+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': '2021-01-19T06:02:17.144010+00:00', 'updated_at': '2021-01-19T06:02:17.143755+00:00'}]} GET: /v1/deploy_templates/264482d8-8277-4613-9f85-bde4e5a48584 {} GOT:{'uuid': '264482d8-8277-4613-9f85-bde4e5a48584', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/264482d8-8277-4613-9f85-bde4e5a48584', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/264482d8-8277-4613-9f85-bde4e5a48584', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2021-01-19T06:02:17.179519+00:00', 'updated_at': None} PATCH: /v1/deploy_templates/57e3412f-896e-482b-9560-2e328252fd24 [{'path': '/steps/1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1cc97a6c-5dc3-482b-979f-1e41524f8dc4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "57e3412f-896e-482b-9560-2e328252fd24", "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/57e3412f-896e-482b-9560-2e328252fd24", "rel": "self"}, {"href": "http://localhost/deploy_templates/57e3412f-896e-482b-9560-2e328252fd24", "rel": "bookmark"}], "extra": {}, "created_at": "2021-01-19T06:02:17.225703+00:00", "updated_at": null} PATCH: /v1/deploy_templates/1089f852-6495-43ee-9208-9ee17359a117 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b73d8ec0-b78f-4f36-a311-4e7a88045f51 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template 1089f852-6495-43ee-9208-9ee17359a117 could not be found.\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'HW_CPU_X86_VMX', 'uuid': '28283df6-cb91-4166-8002-8eb8d42b0cf1', '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/28283df6-cb91-4166-8002-8eb8d42b0cf1 Openstack-Request-Id: req-d808f09c-e5ed-41fd-96b1-903fb7ab51cb X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "28283df6-cb91-4166-8002-8eb8d42b0cf1", "name": "HW_CPU_X86_VMX", "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/28283df6-cb91-4166-8002-8eb8d42b0cf1", "rel": "self"}, {"href": "http://localhost/deploy_templates/28283df6-cb91-4166-8002-8eb8d42b0cf1", "rel": "bookmark"}], "extra": {}, "created_at": "2021-01-19T06:02:17.312206+00:00", "updated_at": null} GET: /v1/drivers/fake-hardware-type {} GOT:{'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': []}{4} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_get_one_ok_dynamic_base_interfaces [0.093385s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers_type_filter_bad_value [0.027002s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_unbind_port_events [0.027252s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_expose.TestJsonRenderer.test_render_error [0.006099s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_expose.TestJsonRenderer.test_render_str [0.005710s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_not_dict [0.009667s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_associated_nodes_insensitive [0.134889s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_iface_not_supported [0.051165s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json [0.046618s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_protected_fields [0.045139s] ... ok 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?sort_key=alive {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-86390ed4-3134-41b1-bfdb-c2c2269dc5cd X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-e81bad2b-dfbb-46e0-8e2b-5a86a008c06a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value drivers is an invalid field for sorting\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '138f3223-0218-4424-a9ca-b1f802db35a7', 'steps': [{'interface': 'raid', 'step': 42, 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9ed8140f-56c7-47e3-8d1d-2e12c3b1475a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute step. Value: '42'. Wrong type. Expected '', got ''\", \"debuginfo\": null}"} GET: /v1/drivers?type=classic {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-db7a9283-1873-40da-bd58-11290ab16088 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/things/no_content {} GOT:Response: 204 No Content Openstack-Request-Id: req-ac3f92e0-46e7-4a8e-a07a-077cff6f919e GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/bios/fake_setting {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-60f395a4-8be6-476a-aecc-270c4e139566 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/detail {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4f255cfb-861d-4a06-8664-613bdb69e8d6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/nodes/detail?project=54321 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-73b84867-9260-4d67-a697-d4043de7337b X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} GET: /v1/nodes?conductor=rocky.rocks {} GOT:{'nodes': []} GET: /v1/nodes?conductor=fake.conductor {} GOT:{'nodes': [{'uuid': 'bb90add3-50e3-4e74-a651-5f412a052338', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/bb90add3-50e3-4e74-a651-5f412a052338', 'rel': 'self'}, {'href': 'http://localhost/nodes/bb90add3-50e3-4e74-a651-5f412a052338', 'rel': 'bookmark'}]}, {'uuid': 'ffb3adaf-1acf-404d-a76a-4035b5938ff8', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/ffb3adaf-1acf-404d-a76a-4035b5938ff8', 'rel': 'self'}, {'href': 'http://localhost/nodes/ffb3adaf-1acf-404d-a76a-4035b5938ff8', 'rel': 'bookmark'}]}]} GET: /v1/nodes?conductor=fake.conductor {} GOT:{'nodes': [{'uuid': 'ffb3adaf-1acf-404d-a76a-4035b5938ff8', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/ffb3adaf-1acf-404d-a76a-4035b5938ff8', 'rel': 'self'}, {'href': 'http://localhost/nodes/ffb3adaf-1acf-404d-a76a-4035b5938ff8', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?traits=CUSTOM_TRAIT_1 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6817ddc8-9102-4462-b04d-25683383238a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"traits\\\"\", \"debuginfo\": null}"} 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/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': '2021-01-19T06:02:17.355765+00:00'}{15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_true_field [0.046153s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_field_hidden_in_lower_version [0.065647s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource [0.110297s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource [0.111087s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_remove_chassis_uuid [0.026658s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_not_acceptable [0.040562s] ... ok GOT:{'uuid': 'da1c389f-8e1b-4543-90e6-51e03b2586f9', 'extra': {}, 'node_uuid': None, 'name': None, 'links': [{'href': 'http://localhost/v1/allocations/da1c389f-8e1b-4543-90e6-51e03b2586f9', 'rel': 'self'}, {'href': 'http://localhost/allocations/da1c389f-8e1b-4543-90e6-51e03b2586f9', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': None, 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.879557+00:00', 'updated_at': '2021-01-19T06:02:16.933739+00:00'} POST: /v1/allocations {'candidate_nodes': [], 'extra': {}, 'name': None, 'resource_class': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'traits': [], 'uuid': '3d9baa7b-7126-4080-82d3-67c803fbb415', 'owner': None} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-889cd770-37c9-4261-92db-9868806040c9 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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}"} 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/conductors {} GOT:{'conductors': []} 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?fields=uuid,steps {} GOT:{'deploy_templates': [{'uuid': '5c19a02a-5049-46bb-9166-863cfa855fa2', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/5c19a02a-5049-46bb-9166-863cfa855fa2', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/5c19a02a-5049-46bb-9166-863cfa855fa2', 'rel': 'bookmark'}]}, {'uuid': '955ac969-62a2-4cb3-849a-f9eff073ce0c', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/955ac969-62a2-4cb3-849a-f9eff073ce0c', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/955ac969-62a2-4cb3-849a-f9eff073ce0c', 'rel': 'bookmark'}]}, {'uuid': '8b6c9fb1-f25f-4453-9e36-17d7938fd20f', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/8b6c9fb1-f25f-4453-9e36-17d7938fd20f', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/8b6c9fb1-f25f-4453-9e36-17d7938fd20f', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates/e493f11a-23e4-43d1-bcb8-ad8c530ea027 {} GOT:{'uuid': 'e493f11a-23e4-43d1-bcb8-ad8c530ea027', 'name': 'CUSTOM_DT1', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': [], 'password': '******'}, 'priority': 10}], 'links': [{'href': 'http://localhost/v1/deploy_templates/e493f11a-23e4-43d1-bcb8-ad8c530ea027', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/e493f11a-23e4-43d1-bcb8-ad8c530ea027', 'rel': 'bookmark'}], 'extra': {}, 'created_at': '2021-01-19T06:02:17.133228+00:00', 'updated_at': None} PATCH: /v1/deploy_templates/e6814e0e-2ac4-4dbe-96c6-33cc9fc8ad8a [{'path': '/foo', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-80de60da-d223-48f8-be9b-fc0c8a198529 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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/27ec7331-d403-494a-94e7-86235c9a4e9c [{'path': '/name', 'value': 'aa:bb_cc', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-18ba1d70-bf56-46ad-8558-e41bf4ac6505 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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/cac9fcb9-71e6-419d-b417-b1eab0c8f741 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8a1b6e5b-3ac4-4e09-a721-bc1dfb0d9330 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "cac9fcb9-71e6-419d-b417-b1eab0c8f741", "name": "CUSTOM_DT2", "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/cac9fcb9-71e6-419d-b417-b1eab0c8f741", "rel": "self"}, {"href": "http://localhost/deploy_templates/cac9fcb9-71e6-419d-b417-b1eab0c8f741", "rel": "bookmark"}], "extra": {}, "created_at": "2021-01-19T06:02:17.244142+00:00", "updated_at": null} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': 'd7f74cf4-e809-429a-b5a4-9b885f014ddf', 'steps': [{'interface': 'raid', 'step': 'create_configuration', 'args': {'logical_disks': []}}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ab4fd8b9-7582-4aa2-a76d-2c514a89eb88 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute priority. Value: 'None'. Mandatory field missing.\", \"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-c81e1cca-5c0f-4f74-a635-f6742496ccb5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null GET: /v1/drivers {} GOT:{'drivers': [{'name': 'fake-hardware-type', 'hosts': ['fake-host1', 'fake-host2'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type', 'rel': 'bookmark'}]}, {'name': 'fake-hardware-type-2', 'hosts': ['fake-host1'], 'links': [{'href': 'http://localhost/v1/drivers/fake-hardware-type-2', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type-2', 'rel': 'bookmark'}]}]} 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-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'}]}{3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_drivers [0.098525s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties [0.040690s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_raid_logical_disk_properties_iface_not_supported [0.042849s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_expose.TestExpose.test_response_content [0.022796s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestBIOS.test_get_all_bios_fails_with_bad_version [0.032436s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_key_invalid [0.009616s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_valid [0.009395s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_maintenance_mode_by_name [0.038657s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_ports_subresource [0.040263s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_against_single [0.034661s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden_no_project [0.030174s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_all_interface_fields_invalid_api_version [0.042500s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields [0.050858s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_driver_invalid_api_version [0.030843s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version_detail [0.029619s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_inspection [0.063783s] ... ok GET: /v1/nodes/detail?lessee=project1 {} GOT:{'nodes': [{'uuid': '6d0609b8-dd41-4553-b72e-cbb4c1c251ec', '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/6d0609b8-dd41-4553-b72e-cbb4c1c251ec', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d0609b8-dd41-4553-b72e-cbb4c1c251ec', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/6d0609b8-dd41-4553-b72e-cbb4c1c251ec/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d0609b8-dd41-4553-b72e-cbb4c1c251ec/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/6d0609b8-dd41-4553-b72e-cbb4c1c251ec/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d0609b8-dd41-4553-b72e-cbb4c1c251ec/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/6d0609b8-dd41-4553-b72e-cbb4c1c251ec/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d0609b8-dd41-4553-b72e-cbb4c1c251ec/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/6d0609b8-dd41-4553-b72e-cbb4c1c251ec/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/6d0609b8-dd41-4553-b72e-cbb4c1c251ec/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, 'lessee': 'project1', 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.420870+00:00'}]} GET: /v1/nodes/detail?lessee=project2 {} GOT:{'nodes': [{'uuid': '6cb123d8-e7fc-4c9d-b612-a74946a98bda', '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/6cb123d8-e7fc-4c9d-b612-a74946a98bda', 'rel': 'self'}, {'href': 'http://localhost/nodes/6cb123d8-e7fc-4c9d-b612-a74946a98bda', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/6cb123d8-e7fc-4c9d-b612-a74946a98bda/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/6cb123d8-e7fc-4c9d-b612-a74946a98bda/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/6cb123d8-e7fc-4c9d-b612-a74946a98bda/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/6cb123d8-e7fc-4c9d-b612-a74946a98bda/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/6cb123d8-e7fc-4c9d-b612-a74946a98bda/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/6cb123d8-e7fc-4c9d-b612-a74946a98bda/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/6cb123d8-e7fc-4c9d-b612-a74946a98bda/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/6cb123d8-e7fc-4c9d-b612-a74946a98bda/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, 'lessee': 'project2', 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.425670+00:00'}]} GET: /v1/nodes?lessee=project1 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d17580bc-f10b-4683-bd5a-e82692bb0344 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.65\", \"debuginfo\": null}"} GET: /v1/nodes/detail?lessee=project1 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3e926a72-2258-4369-b93c-ce8b7b644cf6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable. The minimal required API version should be 1.65\", \"debuginfo\": null}"} GET: /v1/nodes {} GOT:{'nodes': [{'uuid': 'eaa0f751-0276-4003-9401-be1eae83cc80', 'instance_uuid': None, 'name': 'node-0', 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/eaa0f751-0276-4003-9401-be1eae83cc80', 'rel': 'self'}, {'href': 'http://localhost/nodes/eaa0f751-0276-4003-9401-be1eae83cc80', 'rel': 'bookmark'}]}, {'uuid': '2875fc14-aa64-4b53-974b-4922a9e457e7', 'instance_uuid': None, 'name': 'node-1', 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/2875fc14-aa64-4b53-974b-4922a9e457e7', 'rel': 'self'}, {'href': 'http://localhost/nodes/2875fc14-aa64-4b53-974b-4922a9e457e7', 'rel': 'bookmark'}]}, {'uuid': '2c148c90-8c18-4c53-a0b4-9b9c6b98c6d9', 'instance_uuid': None, 'name': 'node-2', 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/2c148c90-8c18-4c53-a0b4-9b9c6b98c6d9', 'rel': 'self'}, {'href': 'http://localhost/nodes/2c148c90-8c18-4c53-a0b4-9b9c6b98c6d9', 'rel': 'bookmark'}]}, {'uuid': 'cdd9f341-d382-46f2-90e6-3218de48ece6', 'instance_uuid': None, 'name': 'node-3', 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/cdd9f341-d382-46f2-90e6-3218de48ece6', 'rel': 'self'}, {'href': 'http://localhost/nodes/cdd9f341-d382-46f2-90e6-3218de48ece6', 'rel': 'bookmark'}]}, {'uuid': 'e2d2fec5-374e-4cff-85ed-7f232a2e54a4', 'instance_uuid': None, 'name': 'node-4', 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/e2d2fec5-374e-4cff-85ed-7f232a2e54a4', 'rel': 'self'}, {'href': 'http://localhost/nodes/e2d2fec5-374e-4cff-85ed-7f232a2e54a4', '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, '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': '2021-01-19T06:02:17.715595+00:00'}{6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_interface_fields_hidden_in_lower_version [0.044864s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_with_reason [0.045566s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource [0.103862s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_old_api_version [0.028620s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_connectors_subresource_noid [0.044666s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_extra_instance_info [0.057185s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3f2faae1-638d-4e0b-9fb7-35416ede0e15 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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/test/properties {} GOT:{'prop1': 'Property 1. Required.'} 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-6a1bd349-5974-4641-89ce-9416b66f4239 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"return_key": "return_value"} 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-d4b5d768-2972-4a50-b213-d48c7ff7dbe3 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'bad_id': 'f8bd9f58-a680-4426-a431-ce5a1814a8ac'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7263783c-8fbc-472a-addd-b10be74aaabf X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-8ec93696-2a3a-474c-a1a2-0588022d3ebc X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/detail?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-968f7630-879c-4f3c-8ee1-037b3d5b6acd X-Openstack-Ironic-Api-Maximum-Version: 1.68 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, 'lessee': None, 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'network_data': {}, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.422817+00:00'}]} GET: /v1/nodes?fields=uuid,instance_info {} GOT:{'nodes': [{'uuid': '3587bb66-920f-4b17-9e53-b60b20f70c24', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/3587bb66-920f-4b17-9e53-b60b20f70c24', 'rel': 'self'}, {'href': 'http://localhost/nodes/3587bb66-920f-4b17-9e53-b60b20f70c24', 'rel': 'bookmark'}]}, {'uuid': 'fee11642-9533-41a8-a402-c6a46efb9d2a', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/fee11642-9533-41a8-a402-c6a46efb9d2a', 'rel': 'self'}, {'href': 'http://localhost/nodes/fee11642-9533-41a8-a402-c6a46efb9d2a', 'rel': 'bookmark'}]}, {'uuid': 'b9d258ab-253e-4f1a-a536-a63be263eb5f', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'links': [{'href': 'http://localhost/v1/nodes/b9d258ab-253e-4f1a-a536-a63be263eb5f', 'rel': 'self'}, {'href': 'http://localhost/nodes/b9d258ab-253e-4f1a-a536-a63be263eb5f', 'rel': 'bookmark'}]}]} GET: /v1/nodes?fault=power failure {} GOT:{'nodes': [{'uuid': 'db742815-37c1-4b6d-8980-59b10bfa6eb7', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/db742815-37c1-4b6d-8980-59b10bfa6eb7', 'rel': 'self'}, {'href': 'http://localhost/nodes/db742815-37c1-4b6d-8980-59b10bfa6eb7', 'rel': 'bookmark'}]}]} GET: /v1/nodes?fault=clean failure {} GOT:{'nodes': [{'uuid': 'de77e305-c964-48d3-9331-dcc37ca50d03', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/de77e305-c964-48d3-9331-dcc37ca50d03', 'rel': 'self'}, {'href': 'http://localhost/nodes/de77e305-c964-48d3-9331-dcc37ca50d03', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?fault=power failure {} GOT:{'nodes': [{'uuid': 'db742815-37c1-4b6d-8980-59b10bfa6eb7', '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/db742815-37c1-4b6d-8980-59b10bfa6eb7', 'rel': 'self'}, {'href': 'http://localhost/nodes/db742815-37c1-4b6d-8980-59b10bfa6eb7', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/db742815-37c1-4b6d-8980-59b10bfa6eb7/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/db742815-37c1-4b6d-8980-59b10bfa6eb7/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/db742815-37c1-4b6d-8980-59b10bfa6eb7/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/db742815-37c1-4b6d-8980-59b10bfa6eb7/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/db742815-37c1-4b6d-8980-59b10bfa6eb7/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/db742815-37c1-4b6d-8980-59b10bfa6eb7/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/db742815-37c1-4b6d-8980-59b10bfa6eb7/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/db742815-37c1-4b6d-8980-59b10bfa6eb7/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': '2021-01-19T06:02:17.563504+00:00'}]}{8} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_fault [0.173661s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner [0.169223s] ... ok DELETE: /v1/nodes/doesntexist/vifs/a124309b-09cd-4aea-a855-2ebc44e1507b GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2ffb5d54-8160-49be-9a2c-d20b76a3dd8d X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7970b269-fdc7-431b-ae8e-777e9251d08b X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d7c6a41a-b2e9-4306-b469-0ad39c773531 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"connector_uuid\\\"\", \"debuginfo\": null}"} GET: /v1/nodes?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-20a4b9ba-16e8-486a-938d-6fb57b7dd816 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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?fault=power failure {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-feffd563-8fee-4fb9-9f9a-195a58a20d1f X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-0121d492-37a5-4e22-bbdf-66d0dcb2b3eb X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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, 'lessee': None, 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'network_data': {}, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.488191+00:00'} 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/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': '2021-01-19T06:02:17.586447+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': '2021-01-19T06:02:17.586447+00:00'}]}{7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_network_interface [0.091284s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link [0.047655s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_insensitive [0.129208s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name [0.044783s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_replace_ok [0.054804s] ... 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': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.219106+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': '2021-01-19T06:02:17.269379+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': '2021-01-19T06:02:17.269379+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': '2021-01-19T06:02:17.334365+00:00'}{0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_null_field [0.045788s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_unassociated_nodes_with_limit [0.091177s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_forbidden [0.044078s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_drive_console_enabled [0.048292s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_targets_subresource [0.049537s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_maintenance [0.055291s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee [0.060501s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. DELETE: /v1/chassis/e74c40e0-d825-11e2-a28f-0800200c9a66 GOT:Response: 204 No Content Openstack-Request-Id: req-b6ebcf44-a273-47b9-8ef2-1000525f3850 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-687d8433-39fd-4d82-a4df-d43cfc7a66d0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/deploy_templates/a509858b-c8fa-4875-9448-5b151d8a390f.json GOT:Response: 204 No Content Openstack-Request-Id: req-fd9693c8-0a9b-45a0-9b88-76f1137e304c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 GET: /v1/deploy_templates {} GOT:{'deploy_templates': [{'uuid': '1aea0f94-1a9a-4c73-8b63-40c03f0551ea', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/1aea0f94-1a9a-4c73-8b63-40c03f0551ea', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/1aea0f94-1a9a-4c73-8b63-40c03f0551ea', 'rel': 'bookmark'}]}, {'uuid': '7ec739e1-c5f3-4e5e-a818-f9f32dd0a7db', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/7ec739e1-c5f3-4e5e-a818-f9f32dd0a7db', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7ec739e1-c5f3-4e5e-a818-f9f32dd0a7db', 'rel': 'bookmark'}]}, {'uuid': 'c7a6eca9-1bd6-4afc-8c3e-710af4931a13', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/c7a6eca9-1bd6-4afc-8c3e-710af4931a13', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/c7a6eca9-1bd6-4afc-8c3e-710af4931a13', 'rel': 'bookmark'}]}, {'uuid': '4bc04343-bab6-4b29-b5ed-015776d19bcc', 'name': 'CUSTOM_DT3', 'links': [{'href': 'http://localhost/v1/deploy_templates/4bc04343-bab6-4b29-b5ed-015776d19bcc', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/4bc04343-bab6-4b29-b5ed-015776d19bcc', 'rel': 'bookmark'}]}, {'uuid': 'e486310b-243a-4757-88ab-eca86f2dfaf0', 'name': 'CUSTOM_DT4', 'links': [{'href': 'http://localhost/v1/deploy_templates/e486310b-243a-4757-88ab-eca86f2dfaf0', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/e486310b-243a-4757-88ab-eca86f2dfaf0', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?sort_key=uuid {} GOT:{'deploy_templates': [{'uuid': '415eb225-5898-4a00-9d14-e6a9d04a4d29', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/415eb225-5898-4a00-9d14-e6a9d04a4d29', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/415eb225-5898-4a00-9d14-e6a9d04a4d29', 'rel': 'bookmark'}]}, {'uuid': '57d209df-5ec7-43e7-aea7-98dd3ed9e34d', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/57d209df-5ec7-43e7-aea7-98dd3ed9e34d', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/57d209df-5ec7-43e7-aea7-98dd3ed9e34d', 'rel': 'bookmark'}]}, {'uuid': 'd1e7582e-2114-4f5a-90ce-c6c99ff759ed', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/d1e7582e-2114-4f5a-90ce-c6c99ff759ed', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/d1e7582e-2114-4f5a-90ce-c6c99ff759ed', 'rel': 'bookmark'}]}]} GET: /v1/deploy_templates?sort_key=extra {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-481daa0a-864a-4d80-93f0-86b44a33c24d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-e3f09dff-8fde-4470-99de-4209432232b0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-f1bb8699-37fc-4b56-9213-172fb3b92fd6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value steps is an invalid field for sorting\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/421e8067-18a4-4d84-9fe5-4f8f38866b52 [{'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-d513d5fb-34fb-4a52-886a-402dbf9220cc X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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}"} POST: /v1/deploy_templates {'name': None, 'uuid': '5e619dfb-0aeb-47a4-a4a1-18c381ad612a', '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-bca22f05-0881-49b0-917a-1f4f2b3a2676 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: Deploy template name cannot be None.\", \"debuginfo\": null}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '21387dd8-82d0-4606-9137-fcdc7a809042', '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-bf51c332-7239-4136-b0e1-af3a40600d83 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unknown attribute for argument template.steps: foo\", \"debuginfo\": null}"} GET: /v1/drivers/driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b2d42578-83a6-41c4-b1c3-6e62da8ec47b X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} DELETE: /v1/drivers/fake-hardware-type/vendor_passthru/do_test GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-f776e6a6-6436-4c76-bde8-519f662c903d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 null 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 {}{18} ironic.tests.unit.api.controllers.v1.test_driver.TestListDrivers.test_links [0.067939s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_min_length_step_value [0.009454s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestDelete.test_delete_node_not_found_by_name_unsupported [0.027167s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_collection_pagination_no_uuid [0.074522s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_network_interface_fields_invalid_api_version [0.041929s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_invalid_resource_class [0.049920s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_no_agent_secret [0.044369s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_null_field [0.048271s] ... ok 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': '2021-01-19T06:02:17.414624+00:00', 'updated_at': None}} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 GOT:Response: 204 No Content Openstack-Request-Id: req-9c1eb4f4-1158-4fdc-9421-7260819ff00f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 GET: /v1/nodes/detail?instance_uuid=17eff94c-b887-42e8-a2bc-50ea699e925b {} GOT:{'nodes': [{'uuid': 'b62447b1-0abf-4232-840f-2198dd257202', 'instance_uuid': '17eff94c-b887-42e8-a2bc-50ea699e925b', '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/b62447b1-0abf-4232-840f-2198dd257202', 'rel': 'self'}, {'href': 'http://localhost/nodes/b62447b1-0abf-4232-840f-2198dd257202', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/b62447b1-0abf-4232-840f-2198dd257202/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/b62447b1-0abf-4232-840f-2198dd257202/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2021-01-19T06:02:17.506895+00:00'}]} GET: /v1/nodes?description_contains=cat {} GOT:{'nodes': [{'uuid': '8b5a922b-2de4-4037-aac2-532d365aa7c6', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/8b5a922b-2de4-4037-aac2-532d365aa7c6', 'rel': 'self'}, {'href': 'http://localhost/nodes/8b5a922b-2de4-4037-aac2-532d365aa7c6', 'rel': 'bookmark'}]}]} GET: /v1/nodes?description_contains=dog {} GOT:{'nodes': [{'uuid': '0e54eeec-1729-4391-939f-3660b63eec3a', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/0e54eeec-1729-4391-939f-3660b63eec3a', 'rel': 'self'}, {'href': 'http://localhost/nodes/0e54eeec-1729-4391-939f-3660b63eec3a', 'rel': 'bookmark'}]}]} GET: /v1/nodes {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-f10a7150-da44-410c-bc0f-856236bc644e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} 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/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': '2021-01-19T06:02:17.747471+00:00'} GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-23ec2b6e-e623-486f-86a9-e302d0551fb6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc could not be found.\", \"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-ff906f2f-8844-4763-b41a-f4f06e5de557 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/volume/connectors [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1e0af8b1-8937-4857-967f-e6151e31b7a7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing argument: \\\"connector_uuid\\\"\", \"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-dc410aef-2948-44cb-a644-01276d9b91a8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-638d3114-6f53-4fb4-a964-5be4b67d68ef X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:17.985197+00:00"}{10} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid [0.056601s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_internal_field [0.038713s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_non_existent_property_fail [0.047176s] ... 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, '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, 'lessee': None, 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'network_data': {}, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.279437+00:00'}]} GET: /v1/nodes/detail?sort_key=resource_class {} GOT:{'nodes': [{'uuid': '9b18f3b5-b1ca-473e-9dfd-c12b2a955c53', '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/9b18f3b5-b1ca-473e-9dfd-c12b2a955c53', 'rel': 'self'}, {'href': 'http://localhost/nodes/9b18f3b5-b1ca-473e-9dfd-c12b2a955c53', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/9b18f3b5-b1ca-473e-9dfd-c12b2a955c53/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/9b18f3b5-b1ca-473e-9dfd-c12b2a955c53/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/9b18f3b5-b1ca-473e-9dfd-c12b2a955c53/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/9b18f3b5-b1ca-473e-9dfd-c12b2a955c53/states', 'rel': 'bookmark'}], 'network_interface': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.355664+00:00'}, {'uuid': '8a710a27-81aa-4476-a185-8f1b33588f71', '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/8a710a27-81aa-4476-a185-8f1b33588f71', 'rel': 'self'}, {'href': 'http://localhost/nodes/8a710a27-81aa-4476-a185-8f1b33588f71', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/8a710a27-81aa-4476-a185-8f1b33588f71/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/8a710a27-81aa-4476-a185-8f1b33588f71/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/8a710a27-81aa-4476-a185-8f1b33588f71/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/8a710a27-81aa-4476-a185-8f1b33588f71/states', 'rel': 'bookmark'}], 'network_interface': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.347231+00:00'}, {'uuid': 'eedb136c-7c8c-4de9-ad51-91e698768c2c', '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/eedb136c-7c8c-4de9-ad51-91e698768c2c', 'rel': 'self'}, {'href': 'http://localhost/nodes/eedb136c-7c8c-4de9-ad51-91e698768c2c', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/eedb136c-7c8c-4de9-ad51-91e698768c2c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/eedb136c-7c8c-4de9-ad51-91e698768c2c/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/eedb136c-7c8c-4de9-ad51-91e698768c2c/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/eedb136c-7c8c-4de9-ad51-91e698768c2c/states', 'rel': 'bookmark'}], 'network_interface': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.342259+00:00'}]} GET: /v1/nodes {} GOT:{'nodes': []} 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {} GOT:{'state': 'on'} 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-57a73c5e-5a39-4ba5-9c4b-223409e3e1c7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"}{14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_no_valid_host [0.124050s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators [0.048538s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_bios_hidden_in_lower_version [0.064249s] ... ok 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': '2021-01-19T06:02:17.136064+00:00', 'updated_at': '2021-01-19T06:02:17.135221+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': '2021-01-19T06:02:17.136064+00:00', 'updated_at': '2021-01-19T06:02:17.135221+00:00'} DELETE: /v1/deploy_templates/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-01f2c976-1f82-4204-ad20-1ebe0f7ac4f3 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template blah could not be found.\", \"debuginfo\": null}"} DELETE: /v1/deploy_templates/CUSTOM_DT1.json GOT:Response: 204 No Content Openstack-Request-Id: req-753a1550-237f-45ea-94c1-641abb7adab3 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 GET: /v1/deploy_templates/?limit=3 {} GOT:{'deploy_templates': [{'uuid': '5943c575-c5c2-44f1-9a7d-bf576fe85eac', 'name': 'CUSTOM_DT0', 'links': [{'href': 'http://localhost/v1/deploy_templates/5943c575-c5c2-44f1-9a7d-bf576fe85eac', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/5943c575-c5c2-44f1-9a7d-bf576fe85eac', 'rel': 'bookmark'}]}, {'uuid': 'd82753d0-b950-4de4-beac-0a1670219182', 'name': 'CUSTOM_DT1', 'links': [{'href': 'http://localhost/v1/deploy_templates/d82753d0-b950-4de4-beac-0a1670219182', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/d82753d0-b950-4de4-beac-0a1670219182', 'rel': 'bookmark'}]}, {'uuid': '7d34af86-5eca-45d3-9748-45e63e16b311', 'name': 'CUSTOM_DT2', 'links': [{'href': 'http://localhost/v1/deploy_templates/7d34af86-5eca-45d3-9748-45e63e16b311', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/7d34af86-5eca-45d3-9748-45e63e16b311', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/deploy_templates?sort_key=id&sort_dir=asc&fields=uuid,name&limit=3&marker=7d34af86-5eca-45d3-9748-45e63e16b311'} 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-39004d1d-0ea6-4554-a876-471d70ec01fd X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "a0ab140e-1b4d-47d7-851f-060d8d6b0afe", "name": "CUSTOM_DT1", "steps": [{"interface": "bios", "step": "apply_configuration", "args": {"foo": "bar"}, "priority": 42}], "links": [{"href": "http://localhost/v1/deploy_templates/a0ab140e-1b4d-47d7-851f-060d8d6b0afe", "rel": "self"}, {"href": "http://localhost/deploy_templates/a0ab140e-1b4d-47d7-851f-060d8d6b0afe", "rel": "bookmark"}], "extra": {}, "created_at": "2021-01-19T06:02:17.326659+00:00", "updated_at": null} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '1bf9e306-c962-4e96-8c60-b29388273219', '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/1bf9e306-c962-4e96-8c60-b29388273219 Openstack-Request-Id: req-5be9f7ec-c5e1-4cd7-bd1b-c7ff8f53b3e1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "1bf9e306-c962-4e96-8c60-b29388273219", "name": "CUSTOM_DT1", "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 42}], "links": [{"href": "http://localhost/v1/deploy_templates/1bf9e306-c962-4e96-8c60-b29388273219", "rel": "self"}, {"href": "http://localhost/deploy_templates/1bf9e306-c962-4e96-8c60-b29388273219", "rel": "bookmark"}], "extra": {}, "created_at": "2021-01-19T06:02:17.377966+00:00", "updated_at": null} POST: /v1/nodes/node-39/vifs {'id': '39d0cba0-a295-4035-ac41-480ece01a2b8'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1d7b174d-a7c6-473e-b92e-612054052f3f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"boom\", \"debuginfo\": null}"} DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-f42a3caa-4e29-4bc3-8137-ff9ceeac4596 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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/spam/management/boot_device {} GOT:{'boot_device': 'pxe', 'persistent': True} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-1ebc9b80-3f1a-4d5f-aaaa-fcc0bb3d7172 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/nodes/detail?resource_class=foo {} GOT:{'nodes': [{'uuid': 'ef439347-dca2-4800-999e-15c774ca1df8', '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/ef439347-dca2-4800-999e-15c774ca1df8', 'rel': 'self'}, {'href': 'http://localhost/nodes/ef439347-dca2-4800-999e-15c774ca1df8', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/ef439347-dca2-4800-999e-15c774ca1df8/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/ef439347-dca2-4800-999e-15c774ca1df8/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/ef439347-dca2-4800-999e-15c774ca1df8/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/ef439347-dca2-4800-999e-15c774ca1df8/states', 'rel': 'bookmark'}], 'network_interface': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.779638+00:00'}]}{17} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_detail [0.095986s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_name_unsupported [0.035404s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_conductor_forbidden [0.047157s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_extra [0.057851s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver [0.049430s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9e32e369-c7c1-4f77-bd0a-dd429a40491c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} PATCH: /v1/deploy_templates/bfc5a8d3-5f97-49df-8fe8-e91774d44e73 [{'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\"}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '166b254f-3158-4597-959d-9ca17b3efd0e', '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/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-d0b4330e-1499-4209-b3af-d41ca42ea9f7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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/things/ouch {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-e7a78809-07df-4b17-8c06-5a2e5e4c6b67 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"ouch\", \"debuginfo\": null}"} GET: /v1/nodes?associated=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e0372578-d8ec-4f52-8143-a0f12f29c8d9 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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?fields=driver_info,uuid {} GOT:{'nodes': [{'uuid': 'a391042e-df32-424c-8347-55dbb414718c', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/a391042e-df32-424c-8347-55dbb414718c', 'rel': 'self'}, {'href': 'http://localhost/nodes/a391042e-df32-424c-8347-55dbb414718c', 'rel': 'bookmark'}]}, {'uuid': '396dc8bd-03b1-449b-b6ce-1c5c0c3835c3', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/396dc8bd-03b1-449b-b6ce-1c5c0c3835c3', 'rel': 'self'}, {'href': 'http://localhost/nodes/396dc8bd-03b1-449b-b6ce-1c5c0c3835c3', 'rel': 'bookmark'}]}, {'uuid': '8cb023be-d5d9-40ba-a5e7-28043fb8104a', 'driver_info': {'fake': 'value'}, 'links': [{'href': 'http://localhost/v1/nodes/8cb023be-d5d9-40ba-a5e7-28043fb8104a', 'rel': 'self'}, {'href': 'http://localhost/nodes/8cb023be-d5d9-40ba-a5e7-28043fb8104a', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=driver_info,uuid&limit=3&marker=8cb023be-d5d9-40ba-a5e7-28043fb8104a'} GET: /v1/nodes?detail=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7664deeb-1cc2-417d-8d67-0ae722228117 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"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-ccf7f3e1-2f3b-4cda-a706-aa03aa3b40ea X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': False, 'console_info': None} 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, 'lessee': None, 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'network_data': {}, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.362672+00:00'} 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, 'lessee': None, 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'network_data': {}, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.409429+00:00'}{12} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_one_with_json_in_name [0.051036s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_owner_fields [0.045637s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_with_allocation [0.054899s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_storage_interface_hidden_in_lower_version [0.063889s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_allowed [0.073820s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test__update_changed_fields_lowers_conductor_group [0.029241s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_empty_invalid [0.050649s] ... 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': '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': '2021-01-19T06:02:17.612460+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': '2021-01-19T06:02:17.676774+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': '2021-01-19T06:02:17.676774+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': '2021-01-19T06:02:17.741304+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': '2021-01-19T06:02:17.741304+00:00'}{1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_traits_hidden_in_lower_version [0.066772s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_invalid_ident [0.023960s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_internal_field [0.038678s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance [0.055534s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_without_driver [0.040497s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data_old_api [0.044588s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class [0.058592s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ce6f621d-b0aa-4da3-bd18-1d663b5ceb4d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute template. Value: '{'name': 'CUSTOM_DT1', 'uuid': '08f883f2-3e6a-4c7c-9e2a-f85e99881029', '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': 'not-a-trait', 'uuid': 'c9e32022-ec26-4146-a399-d9b88fa968d6', '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-c4d76bd5-1422-4f68-8665-a2bad3075495 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': 'e2b2a1b4-ed98-4ec0-b91e-da38ca5a2a2e', 'steps': [{'step': 'create_configuration', 'args': {'logical_disks': []}, 'priority': 10}], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-3f53fce0-4d13-43b4-89d5-b4572533cbf0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute interface. Value: 'None'. Mandatory field missing.\", \"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-de1bd3e3-20d4-494e-bfd3-15d258a94a32 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 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-9448eeb1-136d-4f70-9ad7-023dc1725c68 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"UNKNOWN are invalid keys\", \"debuginfo\": null}"} POST: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '98b15333-5a45-464a-9314-425a3a463e3c'} GOT:Response: 204 No Content Openstack-Request-Id: req-905e244f-061a-4477-a228-8b0d9ee63e91 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {} GOT:{'vifs': []} GET: /v1/nodes?instance_uuid=a4981f29-ce86-4133-ba44-82bc56794315 {} GOT:{'nodes': [{'uuid': '2f17455b-9b74-4040-8a9a-2e40a0ad994b', 'instance_uuid': 'a4981f29-ce86-4133-ba44-82bc56794315', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/2f17455b-9b74-4040-8a9a-2e40a0ad994b', 'rel': 'self'}, {'href': 'http://localhost/nodes/2f17455b-9b74-4040-8a9a-2e40a0ad994b', 'rel': 'bookmark'}]}]} GET: /v1/nodes?conductor_group=group1 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9f6da774-6db8-47bd-9509-893f9a8f5a13 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-5d694cc8-e9b5-477b-823e-ea4e90b9ea87 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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?provision_state=test {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-704ffdd9-beb8-47c9-aa1d-0440d511b5f6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=storage_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-47488d34-85ed-4250-96fa-05c6d08bdd59 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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?associated=true&maintenance=blah {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7c6f114e-1949-47fd-9d6a-73d0130befbd X-Openstack-Ironic-Api-Maximum-Version: 1.68 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, '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, 'allocation_uuid': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.835978+00:00'}{9} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_hidden_in_lower_version [0.063516s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource [0.105508s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_name_remove_ok [0.054626s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_volume_connectors_subresource [0.050261s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=lessee {} 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'}], 'lessee': 'some-lucky-project'} GET: /v1/nodes?driver=ipmi {} GOT:{'nodes': [{'uuid': '1f6c26c4-7c8c-455a-ba47-458bdbe9e6c5', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/1f6c26c4-7c8c-455a-ba47-458bdbe9e6c5', 'rel': 'self'}, {'href': 'http://localhost/nodes/1f6c26c4-7c8c-455a-ba47-458bdbe9e6c5', 'rel': 'bookmark'}]}]} GET: /v1/nodes?driver=fake-hardware {} GOT:{'nodes': [{'uuid': '5e076018-cb1c-4694-b8e6-91543d84fa0d', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/5e076018-cb1c-4694-b8e6-91543d84fa0d', 'rel': 'self'}, {'href': 'http://localhost/nodes/5e076018-cb1c-4694-b8e6-91543d84fa0d', 'rel': 'bookmark'}]}]} GET: /v1/nodes?provision_state=available {} GOT:{'nodes': [{'uuid': '933fe3b3-9bda-4f1a-914c-de1fdae76a6f', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/933fe3b3-9bda-4f1a-914c-de1fdae76a6f', 'rel': 'self'}, {'href': 'http://localhost/nodes/933fe3b3-9bda-4f1a-914c-de1fdae76a6f', 'rel': 'bookmark'}]}]} GET: /v1/nodes?provision_state=deploying {} GOT:{'nodes': [{'uuid': '765c6868-5f5f-405f-8291-9e2fe5434653', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'deploying', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/765c6868-5f5f-405f-8291-9e2fe5434653', 'rel': 'self'}, {'href': 'http://localhost/nodes/765c6868-5f5f-405f-8291-9e2fe5434653', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=traits {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8de5512b-8bc0-437a-b952-9c1a9fcee7b2 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/b5b82b03-c3c3-4829-9f7e-161eca11f542 {} GOT:{'uuid': 'b5b82b03-c3c3-4829-9f7e-161eca11f542', '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/b5b82b03-c3c3-4829-9f7e-161eca11f542', 'rel': 'self'}, {'href': 'http://foo/nodes/b5b82b03-c3c3-4829-9f7e-161eca11f542', 'rel': 'bookmark'}], 'ports': [{'href': 'http://foo/v1/nodes/b5b82b03-c3c3-4829-9f7e-161eca11f542/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/b5b82b03-c3c3-4829-9f7e-161eca11f542/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2021-01-19T06:02:17.849404+00:00'} GET: /v1/nodes/b5b82b03-c3c3-4829-9f7e-161eca11f542 {} GOT:{'uuid': 'b5b82b03-c3c3-4829-9f7e-161eca11f542', '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/b5b82b03-c3c3-4829-9f7e-161eca11f542', 'rel': 'self'}, {'href': 'http://foo/nodes/b5b82b03-c3c3-4829-9f7e-161eca11f542', 'rel': 'bookmark'}], 'ports': [{'href': 'http://foo/v1/nodes/b5b82b03-c3c3-4829-9f7e-161eca11f542/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/b5b82b03-c3c3-4829-9f7e-161eca11f542/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2021-01-19T06:02:17.849404+00:00'} GET: /nodes/b5b82b03-c3c3-4829-9f7e-161eca11f542 {} GOT:{'uuid': 'b5b82b03-c3c3-4829-9f7e-161eca11f542', '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/b5b82b03-c3c3-4829-9f7e-161eca11f542', 'rel': 'self'}, {'href': 'http://foo/nodes/b5b82b03-c3c3-4829-9f7e-161eca11f542', 'rel': 'bookmark'}], 'ports': [{'href': 'http://foo/v1/nodes/b5b82b03-c3c3-4829-9f7e-161eca11f542/ports', 'rel': 'self'}, {'href': 'http://foo/nodes/b5b82b03-c3c3-4829-9f7e-161eca11f542/ports', 'rel': 'bookmark'}], 'updated_at': None, 'created_at': '2021-01-19T06:02:17.849404+00:00'} GET: /v1/nodes?instance_uuid=7bc85b0b-c957-4847-9c04-6a81922ad57a {} 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, 'conductor_group': '', 'automated_clean': None, 'protected': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'owner': None, 'lessee': 'some-lucky-project', 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.976620+00:00'}{13} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_present [0.046085s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired [0.073587s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource [0.039095s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_both_invalid [0.047226s] ... ok GET: /v1/node/dcfe88be-bc88-4ff4-b70c-3b7293feb8c8/allocation {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/allocations?owner=12345 {} GOT:{'allocations': [{'uuid': '52de1744-9db7-4481-a844-e0a29414b657', 'extra': {}, 'node_uuid': None, 'name': 'allocation0', 'links': [{'href': 'http://localhost/v1/allocations/52de1744-9db7-4481-a844-e0a29414b657', 'rel': 'self'}, {'href': 'http://localhost/allocations/52de1744-9db7-4481-a844-e0a29414b657', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': '12345', 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.685446+00:00', 'updated_at': None}, {'uuid': 'd140f834-18ba-4e25-ad0e-1010b5bc44dc', 'extra': {}, 'node_uuid': None, 'name': 'allocation1', 'links': [{'href': 'http://localhost/v1/allocations/d140f834-18ba-4e25-ad0e-1010b5bc44dc', 'rel': 'self'}, {'href': 'http://localhost/allocations/d140f834-18ba-4e25-ad0e-1010b5bc44dc', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': '12345', 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.688811+00:00', 'updated_at': None}, {'uuid': 'a794458e-2650-43f4-80a2-adb59b3dd4b1', 'extra': {}, 'node_uuid': None, 'name': 'allocation2', 'links': [{'href': 'http://localhost/v1/allocations/a794458e-2650-43f4-80a2-adb59b3dd4b1', 'rel': 'self'}, {'href': 'http://localhost/allocations/a794458e-2650-43f4-80a2-adb59b3dd4b1', 'rel': 'bookmark'}], 'state': 'allocating', 'last_error': None, 'resource_class': 'baremetal', 'owner': '12345', 'candidate_nodes': [], 'traits': [], 'created_at': '2021-01-19T06:02:16.690572+00:00', 'updated_at': None}]} GET: /v1/chassis?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-48189406-eb6e-4f3e-aff2-c1d832f0a59c X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-c3bb7007-fe91-4117-877e-54edcc2503e5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '51420613-a1a3-43aa-8ae0-a1f87f17500c', 'steps': [], 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-68d4afba-abb4-4a74-bd74-f6bb0b1575b6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Deploy template invalid: No deploy steps specified. A deploy template must have at least one deploy step..\", \"debuginfo\": null}"} GET: /v1/drivers {} GOT:{'drivers': []} GET: /v1/drivers?type=classic {} GOT:{'drivers': []} POST: /v1/events {'events': [{'INVALID': 'fake.event'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c3b41b09-5c0b-4123-9167-e973993c0fed X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory keys: event\", \"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': 'baremetal'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-4860a331-dc25-4f8f-862b-5c6fa38819cc X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 DELETE: /v1/nodes/foo.json GOT:Response: 204 No Content Openstack-Request-Id: req-bcade1ac-a97b-4900-9846-2055b8bb169e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 GET: /v1/nodes/detail {} GOT:{'nodes': [{'uuid': '7864c705-2e56-4d1b-87e7-f15411f91ad4', '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/7864c705-2e56-4d1b-87e7-f15411f91ad4', 'rel': 'self'}, {'href': 'http://localhost/nodes/7864c705-2e56-4d1b-87e7-f15411f91ad4', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/7864c705-2e56-4d1b-87e7-f15411f91ad4/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7864c705-2e56-4d1b-87e7-f15411f91ad4/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/7864c705-2e56-4d1b-87e7-f15411f91ad4/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/7864c705-2e56-4d1b-87e7-f15411f91ad4/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/7864c705-2e56-4d1b-87e7-f15411f91ad4/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/7864c705-2e56-4d1b-87e7-f15411f91ad4/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/7864c705-2e56-4d1b-87e7-f15411f91ad4/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/7864c705-2e56-4d1b-87e7-f15411f91ad4/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': '12345', 'lessee': None, 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:16.975989+00:00'}, {'uuid': 'a4df4cb2-7266-4763-b8b7-e36068e3f922', '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/a4df4cb2-7266-4763-b8b7-e36068e3f922', 'rel': 'self'}, {'href': 'http://localhost/nodes/a4df4cb2-7266-4763-b8b7-e36068e3f922', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/a4df4cb2-7266-4763-b8b7-e36068e3f922/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a4df4cb2-7266-4763-b8b7-e36068e3f922/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/a4df4cb2-7266-4763-b8b7-e36068e3f922/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/a4df4cb2-7266-4763-b8b7-e36068e3f922/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/a4df4cb2-7266-4763-b8b7-e36068e3f922/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/a4df4cb2-7266-4763-b8b7-e36068e3f922/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/a4df4cb2-7266-4763-b8b7-e36068e3f922/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/a4df4cb2-7266-4763-b8b7-e36068e3f922/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': '12345', 'lessee': None, 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:16.980935+00:00'}, {'uuid': '3a27f2aa-b25d-44a2-81ba-1084c729651d', '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/3a27f2aa-b25d-44a2-81ba-1084c729651d', 'rel': 'self'}, {'href': 'http://localhost/nodes/3a27f2aa-b25d-44a2-81ba-1084c729651d', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/3a27f2aa-b25d-44a2-81ba-1084c729651d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3a27f2aa-b25d-44a2-81ba-1084c729651d/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3a27f2aa-b25d-44a2-81ba-1084c729651d/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3a27f2aa-b25d-44a2-81ba-1084c729651d/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3a27f2aa-b25d-44a2-81ba-1084c729651d/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3a27f2aa-b25d-44a2-81ba-1084c729651d/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3a27f2aa-b25d-44a2-81ba-1084c729651d/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3a27f2aa-b25d-44a2-81ba-1084c729651d/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': '12345', 'lessee': None, 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:16.985308+00:00'}, {'uuid': 'f6b3954e-f014-4d4f-a11b-fb98fec5f112', '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/f6b3954e-f014-4d4f-a11b-fb98fec5f112', 'rel': 'self'}, {'href': 'http://localhost/nodes/f6b3954e-f014-4d4f-a11b-fb98fec5f112', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/f6b3954e-f014-4d4f-a11b-fb98fec5f112/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/f6b3954e-f014-4d4f-a11b-fb98fec5f112/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/f6b3954e-f014-4d4f-a11b-fb98fec5f112/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/f6b3954e-f014-4d4f-a11b-fb98fec5f112/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/f6b3954e-f014-4d4f-a11b-fb98fec5f112/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/f6b3954e-f014-4d4f-a11b-fb98fec5f112/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/f6b3954e-f014-4d4f-a11b-fb98fec5f112/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/f6b3954e-f014-4d4f-a11b-fb98fec5f112/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, 'lessee': '12345', 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:16.989584+00:00'}, {'uuid': '19cd4d8b-72a5-4ce8-846b-e907cb59d3e0', '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/19cd4d8b-72a5-4ce8-846b-e907cb59d3e0', 'rel': 'self'}, {'href': 'http://localhost/nodes/19cd4d8b-72a5-4ce8-846b-e907cb59d3e0', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/19cd4d8b-72a5-4ce8-846b-e907cb59d3e0/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/19cd4d8b-72a5-4ce8-846b-e907cb59d3e0/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/19cd4d8b-72a5-4ce8-846b-e907cb59d3e0/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/19cd4d8b-72a5-4ce8-846b-e907cb59d3e0/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/19cd4d8b-72a5-4ce8-846b-e907cb59d3e0/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/19cd4d8b-72a5-4ce8-846b-e907cb59d3e0/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/19cd4d8b-72a5-4ce8-846b-e907cb59d3e0/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/19cd4d8b-72a5-4ce8-846b-e907cb59d3e0/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, 'lessee': '12345', 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:16.993892+00:00'}, {'uuid': '5ac08725-f216-4182-9b7f-b593e61a62f3', '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/5ac08725-f216-4182-9b7f-b593e61a62f3', 'rel': 'self'}, {'href': 'http://localhost/nodes/5ac08725-f216-4182-9b7f-b593e61a62f3', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/5ac08725-f216-4182-9b7f-b593e61a62f3/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/5ac08725-f216-4182-9b7f-b593e61a62f3/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/5ac08725-f216-4182-9b7f-b593e61a62f3/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/5ac08725-f216-4182-9b7f-b593e61a62f3/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/5ac08725-f216-4182-9b7f-b593e61a62f3/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/5ac08725-f216-4182-9b7f-b593e61a62f3/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/5ac08725-f216-4182-9b7f-b593e61a62f3/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/5ac08725-f216-4182-9b7f-b593e61a62f3/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, 'lessee': '12345', 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:16.998185+00:00'}]}{16} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_detail_list_all_forbidden [0.116216s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_boot_device_iface_not_supported [0.049090s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_custom_fields_invalid_api_version [0.042776s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_list_all_forbidden [0.116050s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_hidden_in_lower_version [0.064253s] ... ok POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '2fab70d4-abd8-481b-96aa-cd123cb3d766', '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-31550575-9cf8-475b-b0d6-71bad47eef5d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute interface. Value: '[3]'. unhashable type: 'list'\", \"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-da63d866-00a1-4f85-ba21-0d30171a6ef7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': '91e310d7-d5e3-48ce-a0f7-ddb16e06a8f4'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-eb65428f-6252-47e3-9280-5f38800cb8f6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vifs {'id': 'e0e15115-3e0c-439d-a5b1-788109bb76be', 'port_uuid': 'port-uuid', 'portgroup_uuid': 'portgroup-uuid'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-80ff562a-914b-4df9-9210-0c2854c91757 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.67 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot specify both port_uuid and portgroup_uuid\", \"debuginfo\": null}"} 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 {} 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': '2021-01-19T06:02:17.354689+00:00', 'updated_at': None}]} GET: /v1/nodes?fault=somefake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c6db4eeb-4e96-41df-ae5b-d5391122513c X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-4bf0ae9e-5c5a-4641-9855-d9d2d6c0062a X-Openstack-Ironic-Api-Maximum-Version: 1.68 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?driver=test {} 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': '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, 'lessee': None, 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'network_data': {}, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.512604+00:00'} 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/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': '2021-01-19T06:02:17.606730+00:00'}]}{19} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_traits [0.106568s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_next_link_with_association [0.094603s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_raid [0.046592s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid [0.042975s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_ok [0.055874s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_replace_invalid [0.050059s] ... ok PATCH: /v1/deploy_templates/7176eb4b-bbcc-4f64-b89c-9161ef5ad7e5 [{'path': '/name', 'value': 'CUSTOM_DT2', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e9863265-21e1-4f97-89d9-bfeec85b0618 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "7176eb4b-bbcc-4f64-b89c-9161ef5ad7e5", "name": "CUSTOM_DT2", "steps": [{"interface": "raid", "step": "create_configuration", "args": {"logical_disks": []}, "priority": 10}], "links": [{"href": "http://localhost/v1/deploy_templates/7176eb4b-bbcc-4f64-b89c-9161ef5ad7e5", "rel": "self"}, {"href": "http://localhost/deploy_templates/7176eb4b-bbcc-4f64-b89c-9161ef5ad7e5", "rel": "bookmark"}], "extra": {}, "created_at": "2021-01-19T06:02:17.131923+00:00", "updated_at": null} POST: /v1/deploy_templates {'name': 'CUSTOM_DT1', 'uuid': '5b1924a0-8216-4c16-add2-4e6726ef664c', '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-4f48dd88-e8d0-43c5-bd98-7764d15c8847 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute priority. Value: '-1'. Value should be greater or equal to 0\", \"debuginfo\": null}"} GET: /v1/drivers/bad_driver/properties {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-76881805-e7fe-4fcf-9bfe-5972a1ee8591 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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'}], 'properties': [{'href': 'http://localhost/v1/drivers/fake-hardware-type/properties', 'rel': 'self'}, {'href': 'http://localhost/drivers/fake-hardware-type/properties', 'rel': 'bookmark'}]} GET: /v1/drivers/nope {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-30646dbe-4265-4efe-aa82-2d6a98b03e58 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-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': []} 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/properties {} GET: /drivers/fake-hardware-type/properties {} 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'}]} POST: /v1/events {'events': [{'event': 'valid.event'}]} GOT:Response: 204 No Content Openstack-Request-Id: req-c463cb01-f263-400b-adae-14ea2de9e079 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 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-18a0fa34-23aa-4ea8-b617-2afac9b473cc X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 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-04c3329e-8986-4fa8-b05c-2c1312ac3819 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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}"}{5} ironic.tests.unit.api.controllers.v1.test_event.TestPost.test_network_port_event_invalid_binding_vnic_type [0.023503s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_expose.TestExpose.test_expose [0.026516s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_expose.TestJsonRenderer.test_render_dict [0.006217s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestAttachDetachVif.test_vif_attach_node_not_found [0.046810s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestCheckCleanSteps.test__check_clean_steps_step_missing_interface [0.009890s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_conductor_field_invalid_api_version [0.048153s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_indicator_state_versioning [0.048913s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_group [0.170557s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_owner_not_allowed [0.040587s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_retired_fields [0.048013s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-03098647-de74-4d3b-a6ff-8b6dab1b90f8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "6eac85d5-e325-440c-8e7b-52575d756ff7", "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/6eac85d5-e325-440c-8e7b-52575d756ff7", "rel": "self"}, {"href": "http://localhost/deploy_templates/6eac85d5-e325-440c-8e7b-52575d756ff7", "rel": "bookmark"}], "extra": {}, "created_at": "2021-01-19T06:02:17.029175+00:00", "updated_at": null} PATCH: /v1/deploy_templates/97433f55-1be2-454a-af7b-d20db44b10c5 [{'path': '/name', 'op': 'replace', 'value': 'CUSTOM_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a1ae95e6-89a3-48ea-9871-d7c310cd3a6d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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 {'uuid': '1edd775f-fcdd-4083-8a5e-d8dfbfde17ab', '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-adaba5e2-9025-4452-8d39-35585fad4f5c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute name. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} GET: /v1/drivers?detail=True {} 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'}], '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-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-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/raid/logical_disk_properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-32bff232-2c6f-4304-8c0b-55e25a0fdae4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-b4000db0-3a9c-4e6d-8ed3-2a9e4d31bc37 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Event validation failure for port_id. Expected a UUID but received PORT_ID_SHOULD_BE_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-410eed54-a0d6-4e3e-a01f-715d2da2bcc0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:{'boot_device': 'pxe', 'persistent': True} GET: /v1/nodes?conductor=rocky.rocks {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-66872d64-9e57-4ebd-8c8b-cdffa499e66a X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"}{11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_conductor_not_allowed [0.030758s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_traits_not_allowed [0.030493s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_boot_devices [0.047202s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_versioning [0.055830s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_name [0.065101s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes_associated [0.173309s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid [0.047260s] ... 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': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.520430+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, 'lessee': None, 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.520430+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': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'owner': None, 'description': None, 'allocation_uuid': None, 'retired': True, 'retired_reason': 'warranty expired', 'updated_at': None, 'created_at': '2021-01-19T06:02:17.590054+00:00'} GET: /v1/nodes?sort_key=uuid {} GOT:{'nodes': [{'uuid': '77379878-8578-442b-a74c-06dbe13a102e', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/77379878-8578-442b-a74c-06dbe13a102e', 'rel': 'self'}, {'href': 'http://localhost/nodes/77379878-8578-442b-a74c-06dbe13a102e', 'rel': 'bookmark'}]}, {'uuid': '81c62445-36fc-4bae-9022-63a6914ff4b6', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/81c62445-36fc-4bae-9022-63a6914ff4b6', 'rel': 'self'}, {'href': 'http://localhost/nodes/81c62445-36fc-4bae-9022-63a6914ff4b6', 'rel': 'bookmark'}]}, {'uuid': '9e345521-a043-48cb-910c-7c144a583d78', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/9e345521-a043-48cb-910c-7c144a583d78', 'rel': 'self'}, {'href': 'http://localhost/nodes/9e345521-a043-48cb-910c-7c144a583d78', 'rel': 'bookmark'}]}]}{2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key [0.073776s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_link [0.046820s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_node_not_found [0.050474s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestNodeObject.test_node_init [0.006693s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_id [0.045976s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_chassis_uuid_invalid_api_version [0.047347s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned [0.061979s] ... 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/properties {} GET: /drivers/fake-hardware-type/properties {} GET: /v1/drivers?type=working {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-44ece2fd-71bb-42f2-939a-e573caf65562 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-9a3947d9-05e0-4d56-a02c-2268484aa970 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 GET: /v1/nodes?associated=true {} GOT:{'nodes': [{'uuid': 'af861b74-acd4-49db-bed1-074704c3ef6a', 'instance_uuid': 'f2c9903b-9d24-4e8f-9913-e9f321819c85', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/af861b74-acd4-49db-bed1-074704c3ef6a', 'rel': 'self'}, {'href': 'http://localhost/nodes/af861b74-acd4-49db-bed1-074704c3ef6a', 'rel': 'bookmark'}]}, {'uuid': '32e70b2a-685e-4203-ba76-90922225ef4b', 'instance_uuid': 'd941c0e2-ebd6-4889-96f5-6afafc382b28', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/32e70b2a-685e-4203-ba76-90922225ef4b', 'rel': 'self'}, {'href': 'http://localhost/nodes/32e70b2a-685e-4203-ba76-90922225ef4b', 'rel': 'bookmark'}]}, {'uuid': '492dcc53-db05-4f9b-b523-ac134bb13296', 'instance_uuid': 'e8587300-787a-4fbe-8a85-f39e60756526', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/492dcc53-db05-4f9b-b523-ac134bb13296', 'rel': 'self'}, {'href': 'http://localhost/nodes/492dcc53-db05-4f9b-b523-ac134bb13296', 'rel': 'bookmark'}]}, {'uuid': '8278e3d1-5a9c-4583-bd8a-499e96a97d3e', 'instance_uuid': 'dc8cbe0e-5f3a-4aff-9d04-618675b91e8a', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/8278e3d1-5a9c-4583-bd8a-499e96a97d3e', 'rel': 'self'}, {'href': 'http://localhost/nodes/8278e3d1-5a9c-4583-bd8a-499e96a97d3e', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=True {} GOT:{'nodes': [{'uuid': 'af861b74-acd4-49db-bed1-074704c3ef6a', 'instance_uuid': 'f2c9903b-9d24-4e8f-9913-e9f321819c85', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/af861b74-acd4-49db-bed1-074704c3ef6a', 'rel': 'self'}, {'href': 'http://localhost/nodes/af861b74-acd4-49db-bed1-074704c3ef6a', 'rel': 'bookmark'}]}, {'uuid': '32e70b2a-685e-4203-ba76-90922225ef4b', 'instance_uuid': 'd941c0e2-ebd6-4889-96f5-6afafc382b28', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/32e70b2a-685e-4203-ba76-90922225ef4b', 'rel': 'self'}, {'href': 'http://localhost/nodes/32e70b2a-685e-4203-ba76-90922225ef4b', 'rel': 'bookmark'}]}, {'uuid': '492dcc53-db05-4f9b-b523-ac134bb13296', 'instance_uuid': 'e8587300-787a-4fbe-8a85-f39e60756526', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/492dcc53-db05-4f9b-b523-ac134bb13296', 'rel': 'self'}, {'href': 'http://localhost/nodes/492dcc53-db05-4f9b-b523-ac134bb13296', 'rel': 'bookmark'}]}, {'uuid': '8278e3d1-5a9c-4583-bd8a-499e96a97d3e', 'instance_uuid': 'dc8cbe0e-5f3a-4aff-9d04-618675b91e8a', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/8278e3d1-5a9c-4583-bd8a-499e96a97d3e', 'rel': 'self'}, {'href': 'http://localhost/nodes/8278e3d1-5a9c-4583-bd8a-499e96a97d3e', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0c12abc0-fed2-45b2-a99e-f7730b7ea3b4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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.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, 'lessee': None, 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'network_data': {}, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.691103+00:00'} 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/detail {} {4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_storage_interface [0.093222s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_many_forbidden [0.030787s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_automated_clean_false_field [0.044538s] ... 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': '2021-01-19T06:02:17.678268+00:00'} GET: /v1/nodes?associated=false {} GOT:{'nodes': [{'uuid': '50abd7e2-fa3d-402c-b5c9-6229d049f8ed', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/50abd7e2-fa3d-402c-b5c9-6229d049f8ed', 'rel': 'self'}, {'href': 'http://localhost/nodes/50abd7e2-fa3d-402c-b5c9-6229d049f8ed', 'rel': 'bookmark'}]}, {'uuid': '25e70575-71eb-4953-bc70-2db1047179af', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/25e70575-71eb-4953-bc70-2db1047179af', 'rel': 'self'}, {'href': 'http://localhost/nodes/25e70575-71eb-4953-bc70-2db1047179af', 'rel': 'bookmark'}]}, {'uuid': 'c28050a0-6fac-45ff-9d33-0674f1de1444', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/c28050a0-6fac-45ff-9d33-0674f1de1444', 'rel': 'self'}, {'href': 'http://localhost/nodes/c28050a0-6fac-45ff-9d33-0674f1de1444', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=FALSE {} GOT:{'nodes': [{'uuid': '50abd7e2-fa3d-402c-b5c9-6229d049f8ed', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/50abd7e2-fa3d-402c-b5c9-6229d049f8ed', 'rel': 'self'}, {'href': 'http://localhost/nodes/50abd7e2-fa3d-402c-b5c9-6229d049f8ed', 'rel': 'bookmark'}]}, {'uuid': '25e70575-71eb-4953-bc70-2db1047179af', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/25e70575-71eb-4953-bc70-2db1047179af', 'rel': 'self'}, {'href': 'http://localhost/nodes/25e70575-71eb-4953-bc70-2db1047179af', 'rel': 'bookmark'}]}, {'uuid': 'c28050a0-6fac-45ff-9d33-0674f1de1444', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/c28050a0-6fac-45ff-9d33-0674f1de1444', 'rel': 'self'}, {'href': 'http://localhost/nodes/c28050a0-6fac-45ff-9d33-0674f1de1444', 'rel': 'bookmark'}]}]} GET: /v1/nodes/validate?node=spam {} GOT:{} 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-bbdd658e-5c12-4d76-b178-c5f63f6bd44b X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:17.899450+00:00"} PATCH: /v1/nodes/55d8c2ca-6088-4161-b38d-21aa1f3ecfb1 [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4316ebd5-9ce3-4b54-a99c-4e152d8a3129 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/55d8c2ca-6088-4161-b38d-21aa1f3ecfb1 [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-c7e74c9e-6f83-4282-8891-0ccba06a03e5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/55d8c2ca-6088-4161-b38d-21aa1f3ecfb1 [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4e3105fe-d24d-410a-b3ec-8778a943cdcb X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/55d8c2ca-6088-4161-b38d-21aa1f3ecfb1 [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e2410dcc-3c0b-4730-931a-b54e514704e1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/55d8c2ca-6088-4161-b38d-21aa1f3ecfb1 [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a6de1ecb-4ba4-4743-a056-39f70a0a670a X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/55d8c2ca-6088-4161-b38d-21aa1f3ecfb1 [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f14049b6-48ee-4550-b881-b98642e8b4f3 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"}{7} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields_bad_version [0.111238s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_with_reason [0.064409s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_with_reset_interfaces [0.054807s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_network_interface [0.040294s] ... ok 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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-1de46fa4-b394-4f83-be94-bfcdf686479f X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} GET: /v1/things/response_content {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-8e50de88-0e1c-42ed-899b-580d263650b9 "nothing" 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\": \"\"}"} DELETE: /v1/nodes/foo/maintenance GOT:Response: 202 Accepted Openstack-Request-Id: req-b62f5dc4-f386-4f5e-84d7-2c385c608471 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 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-4b88ab33-16f7-4b73-a22a-8675bd2f4889 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-882812de-25fa-4d93-bfad-b93bd09e6c28 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-feea6eb6-21b7-422a-ae36-76befcf59c66 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.49 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: fake\", \"debuginfo\": null}"} 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-e144483d-6105-4158-9f35-e50cc03a923f X-Openstack-Ironic-Api-Maximum-Version: 1.68 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=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?driver=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8d2f6a0c-b7c6-4bc7-89f6-0ad59f7efdb2 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} GET: /v1/nodes/detail?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-90c08a21-8e53-491a-aa30-7b0fbc888739 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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': '2021-01-19T06:02:17.915057+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': '2021-01-19T06:02:17.915057+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': '2021-01-19T06:02:17.979627+00:00'}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_resource_class [0.094141s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_maintenance_nodes [0.121331s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_group_hidden_in_lower_version [0.062982s] ... ok GET: /v1/nodes?associated=False&limit=2 {} GOT:{'nodes': [{'uuid': '037db93d-bddd-4d45-87e7-e46bbc55ce21', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/037db93d-bddd-4d45-87e7-e46bbc55ce21', 'rel': 'self'}, {'href': 'http://localhost/nodes/037db93d-bddd-4d45-87e7-e46bbc55ce21', 'rel': 'bookmark'}]}, {'uuid': 'b027b7ed-5c8e-4c96-a09d-1fe64421dc6a', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/b027b7ed-5c8e-4c96-a09d-1fe64421dc6a', 'rel': 'self'}, {'href': 'http://localhost/nodes/b027b7ed-5c8e-4c96-a09d-1fe64421dc6a', '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=b027b7ed-5c8e-4c96-a09d-1fe64421dc6a'} PATCH: /v1/nodes/2592267c-0342-4fef-9056-3c5969ff8dc5 [{'path': '/allocation_uuid', 'op': 'replace', 'value': 'f1bd0165-95c3-4362-9639-c2077cb47a86'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-da4092ec-b79b-4754-a449-db4386254b46 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/allocation_uuid' is an internal attribute and can not be updated\", \"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-7f8d32d6-a096-49d9-9880-a216fc8e32b4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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-3f5c3348-614b-4333-871b-5b6616a1062a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} PATCH: /v1/nodes/995839ce-3a7c-43bd-bb11-5c2b4b25decf [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-16254466-af49-4027-bb9f-07936dd97221 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "995839ce-3a7c-43bd-bb11-5c2b4b25decf", "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/995839ce-3a7c-43bd-bb11-5c2b4b25decf", "rel": "self"}, {"href": "http://localhost/nodes/995839ce-3a7c-43bd-bb11-5c2b4b25decf", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/995839ce-3a7c-43bd-bb11-5c2b4b25decf/ports", "rel": "self"}, {"href": "http://localhost/nodes/995839ce-3a7c-43bd-bb11-5c2b4b25decf/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2021-01-19T06:02:17.679880+00:00"} PATCH: /v1/nodes/0dcb7d5f-67e4-4f6a-af28-435f1dc4cfb2 [{'path': '/lessee', 'value': 'new-project', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ad592342-c8cf-48b7-ac1f-e310317c3e7d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.65 {"uuid": "0dcb7d5f-67e4-4f6a-af28-435f1dc4cfb2", "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/0dcb7d5f-67e4-4f6a-af28-435f1dc4cfb2", "rel": "self"}, {"href": "http://localhost/nodes/0dcb7d5f-67e4-4f6a-af28-435f1dc4cfb2", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/0dcb7d5f-67e4-4f6a-af28-435f1dc4cfb2/ports", "rel": "self"}, {"href": "http://localhost/nodes/0dcb7d5f-67e4-4f6a-af28-435f1dc4cfb2/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0dcb7d5f-67e4-4f6a-af28-435f1dc4cfb2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0dcb7d5f-67e4-4f6a-af28-435f1dc4cfb2/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0dcb7d5f-67e4-4f6a-af28-435f1dc4cfb2/volume", "rel": "self"}, {"href": "http://localhost/nodes/0dcb7d5f-67e4-4f6a-af28-435f1dc4cfb2/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0dcb7d5f-67e4-4f6a-af28-435f1dc4cfb2/states", "rel": "self"}, {"href": "http://localhost/nodes/0dcb7d5f-67e4-4f6a-af28-435f1dc4cfb2/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "updated_at": null, "created_at": "2021-01-19T06:02:17.735693+00:00"} PATCH: /v1/nodes/146a28d4-e563-439f-8aac-1494fd1325ac [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-62c9a20b-3a05-43d7-9a71-dfd44744a554 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "146a28d4-e563-439f-8aac-1494fd1325ac", "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/146a28d4-e563-439f-8aac-1494fd1325ac", "rel": "self"}, {"href": "http://localhost/nodes/146a28d4-e563-439f-8aac-1494fd1325ac", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/146a28d4-e563-439f-8aac-1494fd1325ac/ports", "rel": "self"}, {"href": "http://localhost/nodes/146a28d4-e563-439f-8aac-1494fd1325ac/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/146a28d4-e563-439f-8aac-1494fd1325ac/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/146a28d4-e563-439f-8aac-1494fd1325ac/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/146a28d4-e563-439f-8aac-1494fd1325ac/volume", "rel": "self"}, {"href": "http://localhost/nodes/146a28d4-e563-439f-8aac-1494fd1325ac/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/146a28d4-e563-439f-8aac-1494fd1325ac/states", "rel": "self"}, {"href": "http://localhost/nodes/146a28d4-e563-439f-8aac-1494fd1325ac/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:17.800333+00:00"}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface [0.064419s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_traits [0.044207s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_enroll [0.074921s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_driver [0.033303s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_storage_interface_old_api_version [0.032770s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_portgroups_subresource [0.051319s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_allowed_states [0.114604s] ... 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': {}, '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': '2021-01-19T06:02:17.402241+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': {}, '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': '2021-01-19T06:02:17.402241+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors {} GOT:{'connectors': [{'uuid': 'f551c807-ca99-4e43-9aea-73ef92f8df81', 'type': 'iqn', 'connector_id': 'test-connector_id-0', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/f551c807-ca99-4e43-9aea-73ef92f8df81', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/f551c807-ca99-4e43-9aea-73ef92f8df81', 'rel': 'bookmark'}]}, {'uuid': '568ba5f3-7d16-456a-b2b9-9cc8e49a570d', 'type': 'iqn', 'connector_id': 'test-connector_id-1', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/568ba5f3-7d16-456a-b2b9-9cc8e49a570d', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/568ba5f3-7d16-456a-b2b9-9cc8e49a570d', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/connectors?limit=1 {} GOT:{'connectors': [{'uuid': 'f551c807-ca99-4e43-9aea-73ef92f8df81', 'type': 'iqn', 'connector_id': 'test-connector_id-0', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/f551c807-ca99-4e43-9aea-73ef92f8df81', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/f551c807-ca99-4e43-9aea-73ef92f8df81', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,type,connector_id&limit=1&marker=f551c807-ca99-4e43-9aea-73ef92f8df81'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets {} GOT:{'targets': [{'uuid': 'adec3954-53f2-4057-995d-e87b3e559c96', 'volume_type': 'iscsi', 'boot_index': 0, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/adec3954-53f2-4057-995d-e87b3e559c96', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/adec3954-53f2-4057-995d-e87b3e559c96', 'rel': 'bookmark'}]}, {'uuid': 'fdc74701-8653-4780-88d3-d75c9fa38314', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/fdc74701-8653-4780-88d3-d75c9fa38314', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/fdc74701-8653-4780-88d3-d75c9fa38314', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume/targets?limit=1 {} GOT:{'targets': [{'uuid': 'adec3954-53f2-4057-995d-e87b3e559c96', 'volume_type': 'iscsi', 'boot_index': 0, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/adec3954-53f2-4057-995d-e87b3e559c96', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/adec3954-53f2-4057-995d-e87b3e559c96', '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=adec3954-53f2-4057-995d-e87b3e559c96'} 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-7f3b5341-f56a-4c5a-ad7f-1b4ae21a9524 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/c928b831-eb7e-4258-baa7-f26c72cbf1d8 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ff6b0cb9-22d8-48c4-aa56-4b5539d1fabe X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "c928b831-eb7e-4258-baa7-f26c72cbf1d8", "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": {"foo": "bar"}, "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/c928b831-eb7e-4258-baa7-f26c72cbf1d8", "rel": "self"}, {"href": "http://localhost/nodes/c928b831-eb7e-4258-baa7-f26c72cbf1d8", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/c928b831-eb7e-4258-baa7-f26c72cbf1d8/ports", "rel": "self"}, {"href": "http://localhost/nodes/c928b831-eb7e-4258-baa7-f26c72cbf1d8/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c928b831-eb7e-4258-baa7-f26c72cbf1d8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c928b831-eb7e-4258-baa7-f26c72cbf1d8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c928b831-eb7e-4258-baa7-f26c72cbf1d8/volume", "rel": "self"}, {"href": "http://localhost/nodes/c928b831-eb7e-4258-baa7-f26c72cbf1d8/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c928b831-eb7e-4258-baa7-f26c72cbf1d8/states", "rel": "self"}, {"href": "http://localhost/nodes/c928b831-eb7e-4258-baa7-f26c72cbf1d8/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:17.766705+00:00"}{15} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra_and_instance_info [0.056871s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description [0.061184s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_provisioned_forbidden [0.055831s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_max_length [0.055465s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_storage_interface_old_api [0.043428s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_not_acceptable [0.032296s] ... ok GET: /v1/nodes/detail?fault=clean failure {} GOT:{'nodes': [{'uuid': 'de77e305-c964-48d3-9331-dcc37ca50d03', '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/de77e305-c964-48d3-9331-dcc37ca50d03', 'rel': 'self'}, {'href': 'http://localhost/nodes/de77e305-c964-48d3-9331-dcc37ca50d03', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/de77e305-c964-48d3-9331-dcc37ca50d03/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/de77e305-c964-48d3-9331-dcc37ca50d03/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/de77e305-c964-48d3-9331-dcc37ca50d03/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/de77e305-c964-48d3-9331-dcc37ca50d03/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/de77e305-c964-48d3-9331-dcc37ca50d03/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/de77e305-c964-48d3-9331-dcc37ca50d03/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/de77e305-c964-48d3-9331-dcc37ca50d03/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/de77e305-c964-48d3-9331-dcc37ca50d03/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': '2021-01-19T06:02:17.568491+00:00'}]} GET: /v1/nodes?owner=fred {} GOT:{'nodes': [{'uuid': 'fb1073df-a96b-4d71-9cbe-685d89e90c11', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/fb1073df-a96b-4d71-9cbe-685d89e90c11', 'rel': 'self'}, {'href': 'http://localhost/nodes/fb1073df-a96b-4d71-9cbe-685d89e90c11', 'rel': 'bookmark'}]}]} GET: /v1/nodes?owner=bob {} GOT:{'nodes': [{'uuid': 'adb17e85-20b7-424c-b3a3-a3a2caa52eea', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/adb17e85-20b7-424c-b3a3-a3a2caa52eea', 'rel': 'self'}, {'href': 'http://localhost/nodes/adb17e85-20b7-424c-b3a3-a3a2caa52eea', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?owner=fred {} GOT:{'nodes': [{'uuid': 'fb1073df-a96b-4d71-9cbe-685d89e90c11', '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/fb1073df-a96b-4d71-9cbe-685d89e90c11', 'rel': 'self'}, {'href': 'http://localhost/nodes/fb1073df-a96b-4d71-9cbe-685d89e90c11', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/fb1073df-a96b-4d71-9cbe-685d89e90c11/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/fb1073df-a96b-4d71-9cbe-685d89e90c11/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/fb1073df-a96b-4d71-9cbe-685d89e90c11/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/fb1073df-a96b-4d71-9cbe-685d89e90c11/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/fb1073df-a96b-4d71-9cbe-685d89e90c11/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/fb1073df-a96b-4d71-9cbe-685d89e90c11/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/fb1073df-a96b-4d71-9cbe-685d89e90c11/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/fb1073df-a96b-4d71-9cbe-685d89e90c11/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': '2021-01-19T06:02:17.737236+00:00'}]} GET: /v1/nodes/detail?owner=bob {} GOT:{'nodes': [{'uuid': 'adb17e85-20b7-424c-b3a3-a3a2caa52eea', '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/adb17e85-20b7-424c-b3a3-a3a2caa52eea', 'rel': 'self'}, {'href': 'http://localhost/nodes/adb17e85-20b7-424c-b3a3-a3a2caa52eea', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/adb17e85-20b7-424c-b3a3-a3a2caa52eea/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/adb17e85-20b7-424c-b3a3-a3a2caa52eea/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/adb17e85-20b7-424c-b3a3-a3a2caa52eea/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/adb17e85-20b7-424c-b3a3-a3a2caa52eea/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/adb17e85-20b7-424c-b3a3-a3a2caa52eea/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/adb17e85-20b7-424c-b3a3-a3a2caa52eea/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/adb17e85-20b7-424c-b3a3-a3a2caa52eea/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/adb17e85-20b7-424c-b3a3-a3a2caa52eea/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': '2021-01-19T06:02:17.742241+00:00'}]} GET: /v1/nodes?resource_class=foo {}{8} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class [0.105328s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_nodes_by_resource_class_invalid_api_version [0.031565s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_get_supported_indicators_iface_not_supported [0.050231s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_driver_internal [0.066136s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_lessee_null_field [0.046607s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_allocation_uuid_forbidden [0.048480s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interfaces_not_supported [0.040181s] ... 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': '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': '2021-01-19T06:02:17.761433+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups {} GOT:{'portgroups': [{'uuid': '2d42f4fa-860f-4772-baa8-f68220c60fe5', 'address': '52:54:00:cf:2d:30', 'name': 'pg-0', 'links': [{'href': 'http://localhost/v1/portgroups/2d42f4fa-860f-4772-baa8-f68220c60fe5', 'rel': 'self'}, {'href': 'http://localhost/portgroups/2d42f4fa-860f-4772-baa8-f68220c60fe5', 'rel': 'bookmark'}]}, {'uuid': 'ce2564a2-d9f2-47c3-b457-95a39012b822', 'address': '52:54:00:cf:2d:31', 'name': 'pg-1', 'links': [{'href': 'http://localhost/v1/portgroups/ce2564a2-d9f2-47c3-b457-95a39012b822', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ce2564a2-d9f2-47c3-b457-95a39012b822', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/portgroups?limit=1 {} GOT:{'portgroups': [{'uuid': '2d42f4fa-860f-4772-baa8-f68220c60fe5', 'address': '52:54:00:cf:2d:30', 'name': 'pg-0', 'links': [{'href': 'http://localhost/v1/portgroups/2d42f4fa-860f-4772-baa8-f68220c60fe5', 'rel': 'self'}, {'href': 'http://localhost/portgroups/2d42f4fa-860f-4772-baa8-f68220c60fe5', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=1&marker=2d42f4fa-860f-4772-baa8-f68220c60fe5'} 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/volume/connectors {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d5291d01-39e4-4304-9528-9716b82cbdc0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node volume could not be found.\", \"debuginfo\": null}"} PATCH: /v1/nodes/fe5f3f49-9a96-4b72-bc87-b480d0366c9f [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/extra/foo', 'value': 'bar', 'op': 'add'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-97f35813-bae0-4550-881f-72868ad02127 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "fe5f3f49-9a96-4b72-bc87-b480d0366c9f", "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": {"foo": "bar"}, "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/fe5f3f49-9a96-4b72-bc87-b480d0366c9f", "rel": "self"}, {"href": "http://localhost/nodes/fe5f3f49-9a96-4b72-bc87-b480d0366c9f", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/fe5f3f49-9a96-4b72-bc87-b480d0366c9f/ports", "rel": "self"}, {"href": "http://localhost/nodes/fe5f3f49-9a96-4b72-bc87-b480d0366c9f/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/fe5f3f49-9a96-4b72-bc87-b480d0366c9f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/fe5f3f49-9a96-4b72-bc87-b480d0366c9f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/fe5f3f49-9a96-4b72-bc87-b480d0366c9f/volume", "rel": "self"}, {"href": "http://localhost/nodes/fe5f3f49-9a96-4b72-bc87-b480d0366c9f/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/fe5f3f49-9a96-4b72-bc87-b480d0366c9f/states", "rel": "self"}, {"href": "http://localhost/nodes/fe5f3f49-9a96-4b72-bc87-b480d0366c9f/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, "lessee": null, "description": "foo", "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:17.994472+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': {}, '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-4fa3a07c-eaf5-4dbf-bfab-f0cda3681d8a X-Openstack-Ironic-Api-Maximum-Version: 1.68 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"}{6} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_storage_interface [0.078989s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_adoptfail [0.054015s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_no_ver [0.042636s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_and_fields [0.036644s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_old_version [0.038679s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_uuid_and_name [0.044710s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_next_marker_no_uuid [0.054356s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network_upgrade [0.042970s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links [0.099938s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_invalid_address_format [0.033712s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_old_api_version [0.044492s] ... ok 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-22b35667-e2e9-4288-acc2-e9dd3258992c X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '/extra/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-83be44dd-936f-4ba7-991f-0c94156d2e5f X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/4218ff9d-0e88-4bc1-a2e6-1d1c162cb484 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f15542ca-d1c6-4866-8a92-8c658c4f6e04 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "4218ff9d-0e88-4bc1-a2e6-1d1c162cb484", "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/4218ff9d-0e88-4bc1-a2e6-1d1c162cb484", "rel": "self"}, {"href": "http://localhost/nodes/4218ff9d-0e88-4bc1-a2e6-1d1c162cb484", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/4218ff9d-0e88-4bc1-a2e6-1d1c162cb484/ports", "rel": "self"}, {"href": "http://localhost/nodes/4218ff9d-0e88-4bc1-a2e6-1d1c162cb484/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2021-01-19T06:02:18.134939+00:00"} PATCH: /v1/nodes/a4904ee8-39cb-49f3-9d39-47a40285977d [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7058e9e2-9a5b-47b9-9820-1658de9d5b0c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "a4904ee8-39cb-49f3-9d39-47a40285977d", "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/a4904ee8-39cb-49f3-9d39-47a40285977d", "rel": "self"}, {"href": "http://localhost/nodes/a4904ee8-39cb-49f3-9d39-47a40285977d", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/a4904ee8-39cb-49f3-9d39-47a40285977d/ports", "rel": "self"}, {"href": "http://localhost/nodes/a4904ee8-39cb-49f3-9d39-47a40285977d/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2021-01-19T06:02:18.165849+00:00"} PATCH: /v1/nodes/7f1668aa-8630-47a0-9e68-c22932089bd7 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-be5b394a-11e1-4ce9-b27f-39c28f7828bd X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "7f1668aa-8630-47a0-9e68-c22932089bd7", "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/7f1668aa-8630-47a0-9e68-c22932089bd7", "rel": "self"}, {"href": "http://localhost/nodes/7f1668aa-8630-47a0-9e68-c22932089bd7", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/7f1668aa-8630-47a0-9e68-c22932089bd7/ports", "rel": "self"}, {"href": "http://localhost/nodes/7f1668aa-8630-47a0-9e68-c22932089bd7/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2021-01-19T06:02:18.192199+00:00"} PATCH: /v1/nodes/7e93825d-6657-4040-ad45-8b2e524dbbb1 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e7739ca5-b0ec-4f9a-a28f-072859d61e8e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "7e93825d-6657-4040-ad45-8b2e524dbbb1", "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/7e93825d-6657-4040-ad45-8b2e524dbbb1", "rel": "self"}, {"href": "http://localhost/nodes/7e93825d-6657-4040-ad45-8b2e524dbbb1", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/7e93825d-6657-4040-ad45-8b2e524dbbb1/ports", "rel": "self"}, {"href": "http://localhost/nodes/7e93825d-6657-4040-ad45-8b2e524dbbb1/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2021-01-19T06:02:18.222052+00:00"} PATCH: /v1/nodes/d2e30e7f-2209-444c-a18d-6dce261f2da8 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-721a099c-6b62-4bf6-8ebb-0d68017142dd X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "d2e30e7f-2209-444c-a18d-6dce261f2da8", "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/d2e30e7f-2209-444c-a18d-6dce261f2da8", "rel": "self"}, {"href": "http://localhost/nodes/d2e30e7f-2209-444c-a18d-6dce261f2da8", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/d2e30e7f-2209-444c-a18d-6dce261f2da8/ports", "rel": "self"}, {"href": "http://localhost/nodes/d2e30e7f-2209-444c-a18d-6dce261f2da8/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2021-01-19T06:02:18.248348+00:00"}{10} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_UPDATE_ALLOWED_STATES [0.296522s] ... 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=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': '374c14df-bade-4d58-b062-3294ee7d1f26'} 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': '2021-01-19T06:02:17.562359+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': '2021-01-19T06:02:17.562359+00:00'} GET: /v1/nodes?sort_key=resource_class {} GOT:{'nodes': [{'uuid': 'e126d084-d12b-4fa0-8871-e832868ca9e2', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/e126d084-d12b-4fa0-8871-e832868ca9e2', 'rel': 'self'}, {'href': 'http://localhost/nodes/e126d084-d12b-4fa0-8871-e832868ca9e2', 'rel': 'bookmark'}]}, {'uuid': '3bbc1b7c-9d6d-4c84-aa32-a450f0168428', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/3bbc1b7c-9d6d-4c84-aa32-a450f0168428', 'rel': 'self'}, {'href': 'http://localhost/nodes/3bbc1b7c-9d6d-4c84-aa32-a450f0168428', 'rel': 'bookmark'}]}, {'uuid': '054208a2-e62d-46c0-859c-99fcd41e97d5', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/054208a2-e62d-46c0-859c-99fcd41e97d5', 'rel': 'self'}, {'href': 'http://localhost/nodes/054208a2-e62d-46c0-859c-99fcd41e97d5', 'rel': 'bookmark'}]}]} 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-79ff6db6-e29c-4f7e-8eba-b03faaa66019 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': 'maintenance'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-45a11cf4-7e22-4dce-88b0-3d225a96c0c2 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-c66d210e-94df-450e-999c-d01f81bc1415 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-24aacf25-0d03-4b0d-8ced-66711ad4f10b X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"}{12} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_reserved [0.132546s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_uuid [0.054231s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_description_oversize [0.044089s] ... ok GET: /v1/nodes/detail?resource_class=bar {} GOT:{'nodes': [{'uuid': '7fbef44b-19fd-46eb-ad4c-52921959a17c', '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/7fbef44b-19fd-46eb-ad4c-52921959a17c', 'rel': 'self'}, {'href': 'http://localhost/nodes/7fbef44b-19fd-46eb-ad4c-52921959a17c', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/7fbef44b-19fd-46eb-ad4c-52921959a17c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7fbef44b-19fd-46eb-ad4c-52921959a17c/ports', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/7fbef44b-19fd-46eb-ad4c-52921959a17c/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/7fbef44b-19fd-46eb-ad4c-52921959a17c/states', 'rel': 'bookmark'}], 'network_interface': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.784828+00:00'}]} GET: /v1/nodes/validate?node=spam {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-73948956-81f7-4bdc-9839-111f056f05c7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/03896b46-de53-4d15-a202-94f8b17f23b3 [{'path': '/conductor', 'op': 'replace', 'value': 'why care'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b14db569-f0cc-47c4-9e2a-a142d2c215df X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/c5be936a-7cff-471a-b9e9-b2755baa74a5 [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a1c18ae6-4aad-4536-b716-6ac308b08dec X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "c5be936a-7cff-471a-b9e9-b2755baa74a5", "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": {"foo": "bar"}, "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/c5be936a-7cff-471a-b9e9-b2755baa74a5", "rel": "self"}, {"href": "http://localhost/nodes/c5be936a-7cff-471a-b9e9-b2755baa74a5", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/c5be936a-7cff-471a-b9e9-b2755baa74a5/ports", "rel": "self"}, {"href": "http://localhost/nodes/c5be936a-7cff-471a-b9e9-b2755baa74a5/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c5be936a-7cff-471a-b9e9-b2755baa74a5/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c5be936a-7cff-471a-b9e9-b2755baa74a5/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c5be936a-7cff-471a-b9e9-b2755baa74a5/volume", "rel": "self"}, {"href": "http://localhost/nodes/c5be936a-7cff-471a-b9e9-b2755baa74a5/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c5be936a-7cff-471a-b9e9-b2755baa74a5/states", "rel": "self"}, {"href": "http://localhost/nodes/c5be936a-7cff-471a-b9e9-b2755baa74a5/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, "lessee": null, "description": "foo", "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:17.970695+00:00"} 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-7545c73b-1f9f-4d08-bf7a-47df044f7255 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/22f6bbea-cb5a-490e-9031-a04783921a9b [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d8788490-cd89-4dba-a1f7-a64d0603a942 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "22f6bbea-cb5a-490e-9031-a04783921a9b", "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/22f6bbea-cb5a-490e-9031-a04783921a9b", "rel": "self"}, {"href": "http://localhost/nodes/22f6bbea-cb5a-490e-9031-a04783921a9b", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/22f6bbea-cb5a-490e-9031-a04783921a9b/ports", "rel": "self"}, {"href": "http://localhost/nodes/22f6bbea-cb5a-490e-9031-a04783921a9b/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/22f6bbea-cb5a-490e-9031-a04783921a9b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/22f6bbea-cb5a-490e-9031-a04783921a9b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/22f6bbea-cb5a-490e-9031-a04783921a9b/volume", "rel": "self"}, {"href": "http://localhost/nodes/22f6bbea-cb5a-490e-9031-a04783921a9b/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/22f6bbea-cb5a-490e-9031-a04783921a9b/states", "rel": "self"}, {"href": "http://localhost/nodes/22f6bbea-cb5a-490e-9031-a04783921a9b/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": "2021-01-19T06:02:18.078807+00:00"}{17} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation [0.064320s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_old_api [0.047362s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces_bad_version [0.122969s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource_no_node_id [0.027197s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c393ab78-b923-4089-8d50-1da9e3fb7615 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d308cc6e-91fd-4ae6-ba09-216ea6204855 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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 {} GOT:{'nodes': [{'uuid': '7ba734bf-591c-4497-badd-b11ae2c2c29a', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/7ba734bf-591c-4497-badd-b11ae2c2c29a', 'rel': 'self'}, {'href': 'http://localhost/nodes/7ba734bf-591c-4497-badd-b11ae2c2c29a', 'rel': 'bookmark'}]}, {'uuid': 'b671c3f1-fb10-4317-968f-7ac39d8d0751', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/b671c3f1-fb10-4317-968f-7ac39d8d0751', 'rel': 'self'}, {'href': 'http://localhost/nodes/b671c3f1-fb10-4317-968f-7ac39d8d0751', 'rel': 'bookmark'}]}, {'uuid': 'b808315d-d215-496f-83f1-69d261c8dab8', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/b808315d-d215-496f-83f1-69d261c8dab8', 'rel': 'self'}, {'href': 'http://localhost/nodes/b808315d-d215-496f-83f1-69d261c8dab8', 'rel': 'bookmark'}]}, {'uuid': 'a45b7ffd-b613-4ff7-a5e9-fb8ecdf0d4a3', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/a45b7ffd-b613-4ff7-a5e9-fb8ecdf0d4a3', 'rel': 'self'}, {'href': 'http://localhost/nodes/a45b7ffd-b613-4ff7-a5e9-fb8ecdf0d4a3', 'rel': 'bookmark'}]}, {'uuid': '5c6df230-a155-4c42-aafb-7a094a6e8c1f', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/5c6df230-a155-4c42-aafb-7a094a6e8c1f', 'rel': 'self'}, {'href': 'http://localhost/nodes/5c6df230-a155-4c42-aafb-7a094a6e8c1f', 'rel': 'bookmark'}]}, {'uuid': '4449f1ff-50b0-4609-90f1-1b7e366713d5', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/4449f1ff-50b0-4609-90f1-1b7e366713d5', 'rel': 'self'}, {'href': 'http://localhost/nodes/4449f1ff-50b0-4609-90f1-1b7e366713d5', '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': '', 'updated_at': None, 'created_at': '2021-01-19T06:02:17.296420+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': '2021-01-19T06:02:17.296420+00:00'} GET: /v1/nodes?instance_uuid=fake {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8de6da1d-da97-4e4e-9847-fb8ec9ea26df X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"}{16} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_by_instance_uuid_invalid_uuid [0.242772s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data [0.065667s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} GOT:{'indicators': [{'name': 'led@chassis', 'component': 'chassis', 'readonly': True, 'states': ['OFF', 'ON'], 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis', 'rel': 'bookmark'}]}]} 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': '2021-01-19T06:02:17.743230+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': '2021-01-19T06:02:17.743230+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': '2021-01-19T06:02:17.808026+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': '2021-01-19T06:02:17.808026+00:00'}{14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_conductor_hidden_in_lower_version [0.067868s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_node_not_found [0.042877s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_targets_subresource_noid [0.045055s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_duplicate_name [0.054748s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_ok [0.059105s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_uuid [0.039237s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_consoled_enabled [0.038924s] ... ok 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'}]} DELETE: /v1/nodes/foo GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3b9e4179-8c91-4f26-b61f-6077def83041 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} GET: /v1/nodes?fields=name&limit=2 {} GOT:{'nodes': [{'name': None, 'links': [{'href': 'http://localhost/v1/nodes/6be76074-c86e-4888-96a1-3d423a137cbd', 'rel': 'self'}, {'href': 'http://localhost/nodes/6be76074-c86e-4888-96a1-3d423a137cbd', 'rel': 'bookmark'}]}, {'name': None, 'links': [{'href': 'http://localhost/v1/nodes/caeca12a-9402-4a73-bbd3-669ca5addb6f', 'rel': 'self'}, {'href': 'http://localhost/nodes/caeca12a-9402-4a73-bbd3-669ca5addb6f', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/nodes?sort_key=id&sort_dir=asc&fields=name&limit=2&marker=caeca12a-9402-4a73-bbd3-669ca5addb6f'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=network_interface {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-76439467-2522-4ddd-8b47-47b952a0fb80 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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?resource_class=test {} 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': {'agent_secret_token': '******'}, '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, 'allocation_uuid': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.664485+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': '2021-01-19T06:02:17.713284+00:00'} GET: /v1/nodes/3f7b473c-fc6e-4058-ab15-944131166771 {} GOT:{'uuid': '3f7b473c-fc6e-4058-ab15-944131166771', '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/3f7b473c-fc6e-4058-ab15-944131166771', 'rel': 'self'}, {'href': 'http://localhost/nodes/3f7b473c-fc6e-4058-ab15-944131166771', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/3f7b473c-fc6e-4058-ab15-944131166771/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3f7b473c-fc6e-4058-ab15-944131166771/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3f7b473c-fc6e-4058-ab15-944131166771/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3f7b473c-fc6e-4058-ab15-944131166771/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3f7b473c-fc6e-4058-ab15-944131166771/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3f7b473c-fc6e-4058-ab15-944131166771/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3f7b473c-fc6e-4058-ab15-944131166771/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3f7b473c-fc6e-4058-ab15-944131166771/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': '2021-01-19T06:02:17.758091+00:00'}{18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected [0.069194s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_not_allowed [0.030074s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_chassis_id [0.046314s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean_old_api [0.044299s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_chassis [0.032891s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_mandatory_field_driver [0.028766s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_cleanwait [0.054179s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_raises_before_1_41 [0.056443s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_no_ver [0.042924s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provide_from_manage [0.053722s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict [0.047768s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_network_interface [0.061008s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down_in_progress_deploywait [0.053425s] ... ok 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.\"}"} 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-1b177746-cec4-4779-89ba-eb86aedd60de X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/maintenance', 'op': 'replace', 'value': 'true'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-15547946-33d3-4af3-857a-123cb0bf78dd X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:17.870042+00:00"} 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-2015840f-3e1a-49a9-b2e1-6693d4c451a7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/9e96c5a7-61ac-452e-9e93-511cf5609269 [{'path': '/network_data', 'value': {'links': [{'id': 'interface2', 'type': 'vif', 'ethernet_mac_address': 'a0:36:9f:2c:e8:70', 'vif_id': 'e1c90e9f-eafc-4e2d-8ec9-58b91cebb53d', 'mtu': 1500}, {'id': 'interface0', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:80', 'mtu': 9000}, {'id': 'interface1', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:81', 'mtu': 9000}, {'id': 'bond0', 'type': 'bond', 'bond_links': ['interface0', 'interface1'], 'ethernet_mac_address': 'a0:36:9f:2c:e8:82', 'bond_mode': '802.1ad', 'bond_xmit_hash_policy': 'layer3+4', 'bond_miimon': 100}, {'id': 'vlan0', 'type': 'vlan', 'vlan_link': 'bond0', 'vlan_id': 101, 'vlan_mac_address': 'a0:36:9f:2c:e8:80', 'vif_id': 'e1c90e9f-eafc-4e2d-8ec9-58b91cebb53f'}], 'networks': [{'id': 'private-ipv4', 'type': 'ipv4', 'link': 'interface0', 'ip_address': '10.184.0.244', 'netmask': '255.255.240.0', 'routes': [{'network': '10.0.0.0', 'netmask': '255.0.0.0', 'gateway': '11.0.0.1'}, {'network': '0.0.0.0', 'netmask': '0.0.0.0', 'gateway': '23.253.157.1'}], 'network_id': 'da5bb487-5193-4a65-a3df-4a0055a8c0d7'}, {'id': 'private-ipv4', 'type': 'ipv6', 'link': 'interface0', 'ip_address': '2001:cdba::3257:9652/24', 'routes': [{'network': '::', 'netmask': '::', 'gateway': 'fd00::1'}, {'network': '::', 'netmask': 'ffff:ffff:ffff::', 'gateway': 'fd00::1:1'}], 'network_id': 'da5bb487-5193-4a65-a3df-4a0055a8c0d8'}, {'id': 'publicnet-ipv4', 'type': 'ipv4', 'link': 'vlan0', 'ip_address': '23.253.157.244', 'netmask': '255.255.255.0', 'dns_nameservers': ['69.20.0.164', '69.20.0.196'], 'routes': [{'network': '0.0.0.0', 'netmask': '0.0.0.0', 'gateway': '23.253.157.1'}], 'network_id': '62611d6f-66cb-4270-8b1f-503ef0dd4736'}], 'services': [{'type': 'dns', 'address': '8.8.8.8'}, {'type': 'dns', 'address': '8.8.4.4'}]}, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f20a9b1b-43ab-42bd-bb40-c35e36c9aef6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.62 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/b1649610-aaa4-4160-a153-089e47417de4 [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c4f529c5-174b-4668-af88-ab8e555afc94 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "b1649610-aaa4-4160-a153-089e47417de4", "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/b1649610-aaa4-4160-a153-089e47417de4", "rel": "self"}, {"href": "http://localhost/nodes/b1649610-aaa4-4160-a153-089e47417de4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/b1649610-aaa4-4160-a153-089e47417de4/ports", "rel": "self"}, {"href": "http://localhost/nodes/b1649610-aaa4-4160-a153-089e47417de4/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b1649610-aaa4-4160-a153-089e47417de4/states", "rel": "self"}, {"href": "http://localhost/nodes/b1649610-aaa4-4160-a153-089e47417de4/states", "rel": "bookmark"}], "network_interface": null, "updated_at": null, "created_at": "2021-01-19T06:02:18.024883+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-57d0c959-b38a-430b-8d0f-4cfbcc25345d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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, "lessee": null, "description": "useful stuff", "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.098292+00:00"}{1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description [0.082621s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_name_empty_invalid [0.032895s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_chassis_uuid [0.071160s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_no_cleansteps [0.057312s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_available [0.053064s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name [0.045952s] ... 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': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.835978+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports {} GOT:{'ports': [{'uuid': 'f194e91f-fdb9-4977-801f-4e1e828907b9', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/f194e91f-fdb9-4977-801f-4e1e828907b9', 'rel': 'self'}, {'href': 'http://localhost/ports/f194e91f-fdb9-4977-801f-4e1e828907b9', 'rel': 'bookmark'}]}, {'uuid': '4eb1f14b-b966-4442-b9f3-f8305b34c7b0', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/4eb1f14b-b966-4442-b9f3-f8305b34c7b0', 'rel': 'self'}, {'href': 'http://localhost/ports/4eb1f14b-b966-4442-b9f3-f8305b34c7b0', 'rel': 'bookmark'}]}]} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports?limit=1 {} GOT:{'ports': [{'uuid': 'f194e91f-fdb9-4977-801f-4e1e828907b9', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/f194e91f-fdb9-4977-801f-4e1e828907b9', 'rel': 'self'}, {'href': 'http://localhost/ports/f194e91f-fdb9-4977-801f-4e1e828907b9', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=f194e91f-fdb9-4977-801f-4e1e828907b9'} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 [{'path': '/name', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e088a57c-eac2-4d7b-bfea-b963946e1374 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.004753+00:00"} 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-db85eb30-4397-4eb6-9b41-68d0ac4c0f19 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} PATCH: /v1/nodes/f1ee7410-ce88-43d1-901b-564e3a9d2e16 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-232630cb-7acd-4fbe-9fbc-5effbcbc5479 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "f1ee7410-ce88-43d1-901b-564e3a9d2e16", "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/f1ee7410-ce88-43d1-901b-564e3a9d2e16", "rel": "self"}, {"href": "http://localhost/nodes/f1ee7410-ce88-43d1-901b-564e3a9d2e16", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/f1ee7410-ce88-43d1-901b-564e3a9d2e16/ports", "rel": "self"}, {"href": "http://localhost/nodes/f1ee7410-ce88-43d1-901b-564e3a9d2e16/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/f1ee7410-ce88-43d1-901b-564e3a9d2e16/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/f1ee7410-ce88-43d1-901b-564e3a9d2e16/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/f1ee7410-ce88-43d1-901b-564e3a9d2e16/volume", "rel": "self"}, {"href": "http://localhost/nodes/f1ee7410-ce88-43d1-901b-564e3a9d2e16/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/f1ee7410-ce88-43d1-901b-564e3a9d2e16/states", "rel": "self"}, {"href": "http://localhost/nodes/f1ee7410-ce88-43d1-901b-564e3a9d2e16/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": "2021-01-19T06:02:18.124194+00:00"}{9} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner [0.064059s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_resource_class_too_long [0.051421s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean [0.081049s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. 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': '2021-01-19T06:02:17.710228+00:00'} GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-594dcb62-b5bd-47c2-90d6-a8f77ef94061 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node eeeeeeee-cccc-aaaa-bbbb-cccccccccccc 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-ef453750-a5b5-45db-8d48-cb1002b57d16 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f1fb613d-2b12-40b2-a5ee-3f6681c7b561 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/d53112d4-54e9-44e7-b780-68a22f155a30 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f81c6e7a-6620-4dec-b7cf-d52a9491f202 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"uuid": "d53112d4-54e9-44e7-b780-68a22f155a30", "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/d53112d4-54e9-44e7-b780-68a22f155a30", "rel": "self"}, {"href": "http://localhost/nodes/d53112d4-54e9-44e7-b780-68a22f155a30", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/d53112d4-54e9-44e7-b780-68a22f155a30/ports", "rel": "self"}, {"href": "http://localhost/nodes/d53112d4-54e9-44e7-b780-68a22f155a30/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d53112d4-54e9-44e7-b780-68a22f155a30/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d53112d4-54e9-44e7-b780-68a22f155a30/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d53112d4-54e9-44e7-b780-68a22f155a30/volume", "rel": "self"}, {"href": "http://localhost/nodes/d53112d4-54e9-44e7-b780-68a22f155a30/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d53112d4-54e9-44e7-b780-68a22f155a30/states", "rel": "self"}, {"href": "http://localhost/nodes/d53112d4-54e9-44e7-b780-68a22f155a30/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": "2021-01-19T06:02:17.917183+00:00"} PATCH: /v1/nodes/75afe470-d8d7-4121-9462-f40834d834d1 [{'path': '/protected', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-61c184e9-affc-4bd1-9107-4dea7b35d87f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "75afe470-d8d7-4121-9462-f40834d834d1", "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/75afe470-d8d7-4121-9462-f40834d834d1", "rel": "self"}, {"href": "http://localhost/nodes/75afe470-d8d7-4121-9462-f40834d834d1", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/75afe470-d8d7-4121-9462-f40834d834d1/ports", "rel": "self"}, {"href": "http://localhost/nodes/75afe470-d8d7-4121-9462-f40834d834d1/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/75afe470-d8d7-4121-9462-f40834d834d1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/75afe470-d8d7-4121-9462-f40834d834d1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/75afe470-d8d7-4121-9462-f40834d834d1/volume", "rel": "self"}, {"href": "http://localhost/nodes/75afe470-d8d7-4121-9462-f40834d834d1/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/75afe470-d8d7-4121-9462-f40834d834d1/states", "rel": "self"}, {"href": "http://localhost/nodes/75afe470-d8d7-4121-9462-f40834d834d1/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": "2021-01-19T06:02:17.984239+00:00"}{2} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected [0.060529s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee_old_api_version [0.032160s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_manage [0.055420s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adoption_failed_state [0.096222s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_supported [0.044352s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_by_name [0.038335s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_name [0.058429s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_physical_network [0.069262s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one [0.049585s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_uuid [0.063834s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_node_id [0.043943s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_singular [0.060588s] ... ok GET: /v1/nodes/ce25bdad-c16a-4cfe-9663-445e15d37808 {} GOT:{'uuid': 'ce25bdad-c16a-4cfe-9663-445e15d37808', '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/ce25bdad-c16a-4cfe-9663-445e15d37808', 'rel': 'self'}, {'href': 'http://localhost/nodes/ce25bdad-c16a-4cfe-9663-445e15d37808', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/ce25bdad-c16a-4cfe-9663-445e15d37808/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/ce25bdad-c16a-4cfe-9663-445e15d37808/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/ce25bdad-c16a-4cfe-9663-445e15d37808/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/ce25bdad-c16a-4cfe-9663-445e15d37808/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/ce25bdad-c16a-4cfe-9663-445e15d37808/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/ce25bdad-c16a-4cfe-9663-445e15d37808/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/ce25bdad-c16a-4cfe-9663-445e15d37808/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/ce25bdad-c16a-4cfe-9663-445e15d37808/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, 'retired': True, 'retired_reason': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:18.022492+00:00'} GET: /v1/nodes/f40622ba-7d16-41ca-94f0-b017f9edbdaf {} GOT:{'uuid': 'f40622ba-7d16-41ca-94f0-b017f9edbdaf', '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/f40622ba-7d16-41ca-94f0-b017f9edbdaf', 'rel': 'self'}, {'href': 'http://localhost/nodes/f40622ba-7d16-41ca-94f0-b017f9edbdaf', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/f40622ba-7d16-41ca-94f0-b017f9edbdaf/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/f40622ba-7d16-41ca-94f0-b017f9edbdaf/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/f40622ba-7d16-41ca-94f0-b017f9edbdaf/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/f40622ba-7d16-41ca-94f0-b017f9edbdaf/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/f40622ba-7d16-41ca-94f0-b017f9edbdaf/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/f40622ba-7d16-41ca-94f0-b017f9edbdaf/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/f40622ba-7d16-41ca-94f0-b017f9edbdaf/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/f40622ba-7d16-41ca-94f0-b017f9edbdaf/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, 'retired': False, 'retired_reason': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:18.054842+00:00'} 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'}]} 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-bd3cd57e-65f6-4c38-ae33-6bb9f1fdf4e2 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/31206875-85f4-4fc0-b55f-6135d9172aa0 [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5b9c2c8e-82de-467d-aa0e-220520a6cc7a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.47 {"uuid": "31206875-85f4-4fc0-b55f-6135d9172aa0", "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/31206875-85f4-4fc0-b55f-6135d9172aa0", "rel": "self"}, {"href": "http://localhost/nodes/31206875-85f4-4fc0-b55f-6135d9172aa0", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/31206875-85f4-4fc0-b55f-6135d9172aa0/ports", "rel": "self"}, {"href": "http://localhost/nodes/31206875-85f4-4fc0-b55f-6135d9172aa0/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/31206875-85f4-4fc0-b55f-6135d9172aa0/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/31206875-85f4-4fc0-b55f-6135d9172aa0/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/31206875-85f4-4fc0-b55f-6135d9172aa0/volume", "rel": "self"}, {"href": "http://localhost/nodes/31206875-85f4-4fc0-b55f-6135d9172aa0/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/31206875-85f4-4fc0-b55f-6135d9172aa0/states", "rel": "self"}, {"href": "http://localhost/nodes/31206875-85f4-4fc0-b55f-6135d9172aa0/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": "2021-01-19T06:02:18.191366+00:00"}{13} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_automated_clean [0.055409s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_allowed [0.058942s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok [0.054440s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name [0.055136s] ... ok PATCH: /v1/nodes/55d8c2ca-6088-4161-b38d-21aa1f3ecfb1 [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-27f6914b-17d3-48dc-a040-8843697ba9fd X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/55d8c2ca-6088-4161-b38d-21aa1f3ecfb1 [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-88c7ea2b-144d-47f6-ae81-890d0cf9306e X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/6dc618f4-8502-425c-a541-421503daf12f [{'path': '/retired', 'value': True, 'op': 'replace'}, {'path': '/retired_reason', 'value': 'a better reason', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4995c9ef-f743-4f53-bb06-b3c8bd626144 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "6dc618f4-8502-425c-a541-421503daf12f", "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/6dc618f4-8502-425c-a541-421503daf12f", "rel": "self"}, {"href": "http://localhost/nodes/6dc618f4-8502-425c-a541-421503daf12f", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/6dc618f4-8502-425c-a541-421503daf12f/ports", "rel": "self"}, {"href": "http://localhost/nodes/6dc618f4-8502-425c-a541-421503daf12f/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/6dc618f4-8502-425c-a541-421503daf12f/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/6dc618f4-8502-425c-a541-421503daf12f/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/6dc618f4-8502-425c-a541-421503daf12f/volume", "rel": "self"}, {"href": "http://localhost/nodes/6dc618f4-8502-425c-a541-421503daf12f/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/6dc618f4-8502-425c-a541-421503daf12f/states", "rel": "self"}, {"href": "http://localhost/nodes/6dc618f4-8502-425c-a541-421503daf12f/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, "retired": false, "retired_reason": null, "updated_at": null, "created_at": "2021-01-19T06:02:18.077650+00:00"} 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-0fd25ba0-115c-4a58-aea2-dec3de4c9e89 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.131045+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': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f1af8b22-ce45-45e6-b657-360cb82aa8a4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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 {'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'}{7} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_reserved_name [0.096681s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_change_when_being_cleaned [0.084007s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_iface_not_supported [0.043541s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason_by_name [0.037985s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_no_body [0.046760s] ... 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': '2021-01-19T06:02:17.979627+00:00'}]} GET: /v1/nodes?maintenance=true {} GOT:{'nodes': [{'uuid': 'f62d5480-4498-4c4b-b1fd-07f912af7162', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': True, 'links': [{'href': 'http://localhost/v1/nodes/f62d5480-4498-4c4b-b1fd-07f912af7162', 'rel': 'self'}, {'href': 'http://localhost/nodes/f62d5480-4498-4c4b-b1fd-07f912af7162', 'rel': 'bookmark'}]}, {'uuid': 'e14d244b-d227-407e-8370-19f4a201795c', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': True, 'links': [{'href': 'http://localhost/v1/nodes/e14d244b-d227-407e-8370-19f4a201795c', 'rel': 'self'}, {'href': 'http://localhost/nodes/e14d244b-d227-407e-8370-19f4a201795c', 'rel': 'bookmark'}]}]} GET: /v1/nodes?maintenance=false {} GOT:{'nodes': [{'uuid': '1039613a-9aff-4a2a-be90-f2299a8c0a4e', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/1039613a-9aff-4a2a-be90-f2299a8c0a4e', 'rel': 'self'}, {'href': 'http://localhost/nodes/1039613a-9aff-4a2a-be90-f2299a8c0a4e', 'rel': 'bookmark'}]}, {'uuid': 'f7096614-76de-42dc-9ca4-0cb8b3c0ef33', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/f7096614-76de-42dc-9ca4-0cb8b3c0ef33', 'rel': 'self'}, {'href': 'http://localhost/nodes/f7096614-76de-42dc-9ca4-0cb8b3c0ef33', 'rel': 'bookmark'}]}, {'uuid': '8d2f8d33-d620-4db4-a437-82b79f594654', 'instance_uuid': None, 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/8d2f8d33-d620-4db4-a437-82b79f594654', 'rel': 'self'}, {'href': 'http://localhost/nodes/8d2f8d33-d620-4db4-a437-82b79f594654', '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, 'updated_at': None, 'created_at': '2021-01-19T06:02:18.195398+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': '', 'updated_at': None, 'created_at': '2021-01-19T06:02:18.195398+00:00'} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {}{3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_hidden_in_lower_version [0.064379s] ... 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': 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': '2021-01-19T06:02:17.606730+00:00'}]} GET: /v1/nodes/?limit=3&associated=True {} GOT:{'nodes': [{'uuid': 'f2c19cca-43fe-4c86-bc75-472daf7b71f5', 'instance_uuid': '18a7dd29-5201-42ae-ad77-87997f3516f6', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/f2c19cca-43fe-4c86-bc75-472daf7b71f5', 'rel': 'self'}, {'href': 'http://localhost/nodes/f2c19cca-43fe-4c86-bc75-472daf7b71f5', 'rel': 'bookmark'}]}, {'uuid': '7aed4b30-3898-44d6-b709-b3334d4b389f', 'instance_uuid': '339b08b7-8bbb-4667-b592-acb40c055320', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/7aed4b30-3898-44d6-b709-b3334d4b389f', 'rel': 'self'}, {'href': 'http://localhost/nodes/7aed4b30-3898-44d6-b709-b3334d4b389f', 'rel': 'bookmark'}]}, {'uuid': 'e98089a2-04ce-4dad-8fba-bbdc64d8365c', 'instance_uuid': 'b7c8224e-dd66-4403-af9f-7c31b77229f0', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/e98089a2-04ce-4dad-8fba-bbdc64d8365c', 'rel': 'self'}, {'href': 'http://localhost/nodes/e98089a2-04ce-4dad-8fba-bbdc64d8365c', '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=e98089a2-04ce-4dad-8fba-bbdc64d8365c'} 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/validate?node=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} 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-9ecf86b3-74a8-4ffd-9ca0-86d8e8c7d1b9 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:17.903279+00:00"} 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-8fa2e252-d862-4cb9-91e7-fcbc9c6d7419 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/af48e29b-4835-403d-a5fb-8965457d5859 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-275b5b22-7e2d-4a94-849c-d91343eb599c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "af48e29b-4835-403d-a5fb-8965457d5859", "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": {"foo": "bar"}, "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/af48e29b-4835-403d-a5fb-8965457d5859", "rel": "self"}, {"href": "http://localhost/nodes/af48e29b-4835-403d-a5fb-8965457d5859", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/af48e29b-4835-403d-a5fb-8965457d5859/ports", "rel": "self"}, {"href": "http://localhost/nodes/af48e29b-4835-403d-a5fb-8965457d5859/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/af48e29b-4835-403d-a5fb-8965457d5859/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/af48e29b-4835-403d-a5fb-8965457d5859/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/af48e29b-4835-403d-a5fb-8965457d5859/volume", "rel": "self"}, {"href": "http://localhost/nodes/af48e29b-4835-403d-a5fb-8965457d5859/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/af48e29b-4835-403d-a5fb-8965457d5859/states", "rel": "self"}, {"href": "http://localhost/nodes/af48e29b-4835-403d-a5fb-8965457d5859/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.014794+00:00"}{19} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_extra [0.055702s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_update_name_twice_second_invalid [0.046458s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_non_existent_chassis_uuid [0.049465s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_provision_updated_at [0.039810s] ... ok GET: /v1/nodes?traits=CUSTOM_TRAIT_1 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-14878001-a78e-42af-b2ce-d1f8e5c84f57 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"traits\\\"\", \"debuginfo\": null}"} 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/indicators {} GOT:{'indicators': [{'name': 'led@chassis', 'component': 'chassis', 'readonly': True, 'states': ['OFF', 'ON'], 'links': [{'href': 'http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis', 'rel': 'self'}, {'href': 'http://localhost/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@chassis', 'rel': 'bookmark'}]}]} 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': '2021-01-19T06:02:17.611243+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': '2021-01-19T06:02:17.611243+00:00'} GET: /v1/nodes?associated=true&maintenance=false {} GOT:{'nodes': [{'uuid': 'e42cb4b3-cb4c-4ea2-a63f-05786bdf6340', 'instance_uuid': '79ae819b-8460-4d69-81e1-d9e0677dcd23', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/e42cb4b3-cb4c-4ea2-a63f-05786bdf6340', 'rel': 'self'}, {'href': 'http://localhost/nodes/e42cb4b3-cb4c-4ea2-a63f-05786bdf6340', 'rel': 'bookmark'}]}, {'uuid': 'c3301f94-f9d8-4c6f-ad2a-5ac2b6b3e07f', 'instance_uuid': 'af880efc-d772-40c2-bb88-9c28ec075c9f', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/c3301f94-f9d8-4c6f-ad2a-5ac2b6b3e07f', 'rel': 'self'}, {'href': 'http://localhost/nodes/c3301f94-f9d8-4c6f-ad2a-5ac2b6b3e07f', 'rel': 'bookmark'}]}, {'uuid': 'ec7eeffe-52c7-423d-bc0e-9507a1d663f4', 'instance_uuid': '50515297-d528-4b47-a639-b3bedbcb8b15', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/ec7eeffe-52c7-423d-bc0e-9507a1d663f4', 'rel': 'self'}, {'href': 'http://localhost/nodes/ec7eeffe-52c7-423d-bc0e-9507a1d663f4', 'rel': 'bookmark'}]}, {'uuid': '237248a9-c574-429b-af36-a1372e1f7139', 'instance_uuid': '81a485e8-290b-4b27-af49-33ab31711376', 'power_state': None, 'provision_state': None, 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/237248a9-c574-429b-af36-a1372e1f7139', 'rel': 'self'}, {'href': 'http://localhost/nodes/237248a9-c574-429b-af36-a1372e1f7139', 'rel': 'bookmark'}]}]} GET: /v1/nodes?associated=true&maintenance=true {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': 'abe2ab01-727c-4ecc-8f2d-e962e26046ce', '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?associated=true&maintenance=TruE {} GOT:{'nodes': [{'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'instance_uuid': 'abe2ab01-727c-4ecc-8f2d-e962e26046ce', '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?instance_uuid=2c62f58b-7990-45ff-98a5-cc9f7297c7d0 {} GOT:{'nodes': [{'uuid': '405a99ad-712a-4ad2-ae06-7723f873cd82', 'instance_uuid': '2c62f58b-7990-45ff-98a5-cc9f7297c7d0', 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/405a99ad-712a-4ad2-ae06-7723f873cd82', 'rel': 'self'}, {'href': 'http://localhost/nodes/405a99ad-712a-4ad2-ae06-7723f873cd82', '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': None, 'protected': False, 'protected_reason': None, 'conductor': 'fake.conductor', 'owner': None, 'lessee': None, 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.898136+00:00'}{11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_network_data_hidden_in_lower_version [0.066492s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_sort_key_invalid [0.113211s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root_non_existent [0.048885s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_deployfail [0.056812s] ... ok 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': '2021-01-19T06:02:17.783187+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': '2021-01-19T06:02:17.783187+00:00'}]} GET: /v1/nodes {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d25562f8-8fe3-470d-9029-f0c2dcfc6197 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Access was denied to the following resource: 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, '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': '2021-01-19T06:02:17.908207+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': '2021-01-19T06:02:17.953671+00:00'}{4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_present [0.045225s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ssh_creds_masked [0.047685s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_ok [0.058875s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_instance_info [0.055767s] ... ok PATCH: /v1/nodes/ddb92033-9090-4647-a884-bfcc851de605 [{'path': '/traits', 'value': ['CUSTOM_1'], 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f8b82005-9be5-4fbb-8cd6-e6443c210914 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-3ac373cf-4731-49b1-b1de-fddd2d919c08 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:17.923018+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': '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': '2021-01-19T06:02:17.923018+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: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-94747182-bccb-42b9-9bd4-891abc55764a X-Openstack-Ironic-Api-Maximum-Version: 1.68 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 {'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-bb258cc0-9c06-4945-a5d1-e5d19dd44cc2 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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-523d31bf-bed4-4b3a-a3f4-cc8c4a830fb6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-c62fa652-7c4f-4bf4-8ef0-bfc16633d73b X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-5f45eefb-9e3a-4691-8d2c-16c8dcd0a732 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-f7cdadde-f985-41d6-afda-8457ea61c509 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-a435f6f7-f2c8-4bea-9362-f8ed35648968 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-651b5088-2214-4b95-9969-1b8f6daa54f9 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"}{0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unrescue_in_disallowed_states [0.174944s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_cleansteps_not_clean [0.055475s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_not_found [0.049527s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification_mask_secrets [0.007725s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_custom_fields [0.066446s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_fields [0.053255s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network_upgrade [0.049422s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many [0.074058s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_address_already_exist [0.054337s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPortObject.test_port_init [0.006913s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_cannot_send_create_port [0.061257s] ... ok GET: /v1/things/ {'name': 'foo', 'number': 1} GOT:{'foo': 1} POST: /v1/nodes/doesntexist/vifs {'id': '8a61fde1-79b7-4b88-be15-06e5472ba032'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fe0376e8-a7eb-4cb7-af3d-0834924c3c1a X-Openstack-Ironic-Api-Maximum-Version: 1.68 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?fields=conductor {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f8686e58-47ff-426a-948b-cb5e0723180b X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/management/indicators/led@system {} GOT:{'state': 'on'} GET: /v1/nodes?conductor_group=group1 {} GOT:{'nodes': [{'uuid': '92812d46-cdb6-459d-8b5a-5775bbd34429', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/92812d46-cdb6-459d-8b5a-5775bbd34429', 'rel': 'self'}, {'href': 'http://localhost/nodes/92812d46-cdb6-459d-8b5a-5775bbd34429', 'rel': 'bookmark'}]}]} GET: /v1/nodes?conductor_group=group2 {} GOT:{'nodes': [{'uuid': '7f525953-4552-4a12-839f-2dfb1fedf94d', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/7f525953-4552-4a12-839f-2dfb1fedf94d', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f525953-4552-4a12-839f-2dfb1fedf94d', 'rel': 'bookmark'}]}]} GET: /v1/nodes/detail?conductor_group=group1 {} GOT:{'nodes': [{'uuid': '92812d46-cdb6-459d-8b5a-5775bbd34429', '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/92812d46-cdb6-459d-8b5a-5775bbd34429', 'rel': 'self'}, {'href': 'http://localhost/nodes/92812d46-cdb6-459d-8b5a-5775bbd34429', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/92812d46-cdb6-459d-8b5a-5775bbd34429/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/92812d46-cdb6-459d-8b5a-5775bbd34429/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/92812d46-cdb6-459d-8b5a-5775bbd34429/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/92812d46-cdb6-459d-8b5a-5775bbd34429/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/92812d46-cdb6-459d-8b5a-5775bbd34429/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/92812d46-cdb6-459d-8b5a-5775bbd34429/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/92812d46-cdb6-459d-8b5a-5775bbd34429/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/92812d46-cdb6-459d-8b5a-5775bbd34429/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': '2021-01-19T06:02:17.825738+00:00'}]} GET: /v1/nodes/detail?conductor_group=group2 {} GOT:{'nodes': [{'uuid': '7f525953-4552-4a12-839f-2dfb1fedf94d', '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/7f525953-4552-4a12-839f-2dfb1fedf94d', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f525953-4552-4a12-839f-2dfb1fedf94d', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/7f525953-4552-4a12-839f-2dfb1fedf94d/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f525953-4552-4a12-839f-2dfb1fedf94d/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/7f525953-4552-4a12-839f-2dfb1fedf94d/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f525953-4552-4a12-839f-2dfb1fedf94d/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/7f525953-4552-4a12-839f-2dfb1fedf94d/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f525953-4552-4a12-839f-2dfb1fedf94d/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/7f525953-4552-4a12-839f-2dfb1fedf94d/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f525953-4552-4a12-839f-2dfb1fedf94d/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': '2021-01-19T06:02:17.830567+00:00'}]} GET: /v1/nodes?owner=fred {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-00abc676-3159-41b5-9609-22e0d81420c8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-f3645bf4-b4dc-426b-8fd8-5b3b89baf19f X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123?fields=retired {} 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'}], 'retired': True} 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': '2021-01-19T06:02:18.085851+00:00'}{5} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_hide_fields_in_newer_versions_volume [0.361154s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_retired_reason_hidden_in_lower_version [0.062971s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_via_portgroups_subres_not_allowed [0.049749s] ... ok "max-count" must be a positive value. /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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) GOT:{'nodes': [{'uuid': 'a1504cd7-2c81-4e89-97cf-2c7740d6c084', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/a1504cd7-2c81-4e89-97cf-2c7740d6c084', 'rel': 'self'}, {'href': 'http://localhost/nodes/a1504cd7-2c81-4e89-97cf-2c7740d6c084', 'rel': 'bookmark'}]}]} GET: /v1/nodes?resource_class=bar {} GOT:{'nodes': [{'uuid': '8f276ad2-6f9e-4a11-8d5b-75ebe872c28e', 'instance_uuid': None, 'name': None, 'power_state': None, 'provision_state': 'available', 'maintenance': False, 'links': [{'href': 'http://localhost/v1/nodes/8f276ad2-6f9e-4a11-8d5b-75ebe872c28e', 'rel': 'self'}, {'href': 'http://localhost/nodes/8f276ad2-6f9e-4a11-8d5b-75ebe872c28e', 'rel': 'bookmark'}]}]} GET: /v1/nodes?resource_class=fake {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-85edd85d-340c-4e87-b6da-104a19db41c8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-96fac626-a83f-477f-bc94-4e3cd93ebd94 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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 {} 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': '2021-01-19T06:02:18.095364+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': '2021-01-19T06:02:18.095364+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, 'lessee': None, 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:18.162258+00:00'} PATCH: /v1/nodes/bd11ee64-8854-4431-b49d-46109b51990d [{'path': '/allocation_uuid', 'op': 'replace', 'value': '8d48b212-f3ed-4303-8e1f-a8f144dea9f6'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b0b22212-3a1c-4610-9dfe-e6b71e7c9f4d X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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-39362e85-450c-48b4-b112-65003e17f2cf X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/6bd9b97a-b6ff-40b2-ad58-633af71d2f34 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fbd018d1-0658-4106-b96e-c889c66782f2 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "6bd9b97a-b6ff-40b2-ad58-633af71d2f34", "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/6bd9b97a-b6ff-40b2-ad58-633af71d2f34", "rel": "self"}, {"href": "http://localhost/nodes/6bd9b97a-b6ff-40b2-ad58-633af71d2f34", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/6bd9b97a-b6ff-40b2-ad58-633af71d2f34/ports", "rel": "self"}, {"href": "http://localhost/nodes/6bd9b97a-b6ff-40b2-ad58-633af71d2f34/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2021-01-19T06:02:18.306854+00:00"}{8} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_allowed_in_power_transition [0.056557s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_ok_by_name_with_json [0.056277s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_state [0.039495s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_bios_interface [0.043588s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface_old_api_version [0.032146s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_progress [0.054320s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_locked_with_correct_state [0.053574s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_after_deployfail [0.057381s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid [0.044187s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_not_supported [0.048751s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_with_chassis [0.063256s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_too_long_trait [0.048617s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_maintenance_notification [0.008708s] ... 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, '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'} 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-d57413a8-ed04-465b-998b-f49cd66f14a3 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 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-9175e387-910b-480b-b040-0cd84f2ba188 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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=True&fields=name {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8c78b265-bc6d-4cc0-9262-739ae8cb21bb X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"} GET: /v1/ports?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d0e73f95-c8df-464e-97a6-758b77b8a399 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123&node=node-name {} 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': '2021-01-19T06:02:18.297205+00:00', 'updated_at': None}]} GET: /v1/ports?fields=address&limit=2 {} GOT:{'ports': [{'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/1a5c4f2b-eed5-460f-95ff-891b4bccc69e', 'rel': 'self'}, {'href': 'http://localhost/ports/1a5c4f2b-eed5-460f-95ff-891b4bccc69e', 'rel': 'bookmark'}]}, {'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/fb90c2de-ae1a-4160-bd51-d333d3a618b1', 'rel': 'self'}, {'href': 'http://localhost/ports/fb90c2de-ae1a-4160-bd51-d333d3a618b1', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=fb90c2de-ae1a-4160-bd51-d333d3a618b1'} 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-c19699ea-15e1-419e-b2c7-cb7748a58a6c X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/61c37508-df9a-45da-8b48-de797dcebeca {} GOT:{'uuid': '61c37508-df9a-45da-8b48-de797dcebeca', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/ports/61c37508-df9a-45da-8b48-de797dcebeca', 'rel': 'self'}, {'href': 'http://localhost/ports/61c37508-df9a-45da-8b48-de797dcebeca', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:18.440114+00:00', 'updated_at': None} GET: /v1/ports/61c37508-df9a-45da-8b48-de797dcebeca {} GOT:{'uuid': '61c37508-df9a-45da-8b48-de797dcebeca', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/ports/61c37508-df9a-45da-8b48-de797dcebeca', 'rel': 'self'}, {'href': 'http://localhost/ports/61c37508-df9a-45da-8b48-de797dcebeca', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:18.440114+00:00', 'updated_at': None} GET: /ports/61c37508-df9a-45da-8b48-de797dcebeca {} GOT:{'uuid': '61c37508-df9a-45da-8b48-de797dcebeca', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/ports/61c37508-df9a-45da-8b48-de797dcebeca', 'rel': 'self'}, {'href': 'http://localhost/ports/61c37508-df9a-45da-8b48-de797dcebeca', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:18.440114+00:00', 'updated_at': None} GET: /v1/ports?address=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9bbef287-4f2b-4336-9060-f0c0daf5d6d8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-e72945f5-1658-4317-b650-2275223d77d4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/943f6f20-2944-416b-b448-736c3b94f20f [{'path': '/extra/vif_port_id', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d3b528e6-c540-45b8-acd7-37ac837fd13f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"uuid": "943f6f20-2944-416b-b448-736c3b94f20f", "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/943f6f20-2944-416b-b448-736c3b94f20f", "rel": "self"}, {"href": "http://localhost/ports/943f6f20-2944-416b-b448-736c3b94f20f", "rel": "bookmark"}], "created_at": "2021-01-19T06:02:18.621225+00:00", "updated_at": "2021-01-19T06:02:18.651760+00:00"}{6} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_extra_vif_port_id [0.059822s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_not_allowed [0.061384s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_against_single [0.032290s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json_in_name [0.042085s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_multi [0.057664s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_generate_uuid [0.070320s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_v123 [0.066480s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_with_json [0.035163s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_not_found [0.058612s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_types.TestEventType.test_event_missing_madatory_field [0.006371s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch [0.005602s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_no_path [0.005600s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_vendor_data_failed [0.009656s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_false [0.006490s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs_fail [0.006552s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve_first_fail [0.006454s] ... ok 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-72eeff75-3230-4059-9fcc-83399f729c4c X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-3649e9ce-bab5-45f3-bd51-2800bcb56ad3 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-a5a8ddb1-1db7-4e5e-ba7e-9274f22332ff X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '/chassis_uuid', 'value': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-169ce842-d693-4b65-bc24-68b69ebb3f4b X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:17.912695+00:00"} PATCH: /v1/nodes/20d9a152-9079-4aa4-abb8-409314759000 [{'path': '/description', 'value': '1234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678123456781234567812345678last weed', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-024a04d9-e764-49aa-a39d-f34646941918 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/d6baeb12-35f4-4e8b-995d-80e1523a43d7 [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-372ef75b-6ece-430e-ab2f-e16765cacabf X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.39 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update node \\\"d6baeb12-35f4-4e8b-995d-80e1523a43d7\\\" while it is in state \\\"inspecting\\\".\", \"debuginfo\": null}"}{12} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_in_inspecting_not_allowed [0.051825s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_valid_soft_ver [0.047389s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict_unsupported [0.046362s] ... ok PATCH: /v1/nodes/7f7f424f-8258-40c2-a40f-154a253e33ab [{'path': '/description', 'value': 'meow', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e48d38f1-e511-466a-a34f-40da2fdc38e7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.51 {"uuid": "7f7f424f-8258-40c2-a40f-154a253e33ab", "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/7f7f424f-8258-40c2-a40f-154a253e33ab", "rel": "self"}, {"href": "http://localhost/nodes/7f7f424f-8258-40c2-a40f-154a253e33ab", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/7f7f424f-8258-40c2-a40f-154a253e33ab/ports", "rel": "self"}, {"href": "http://localhost/nodes/7f7f424f-8258-40c2-a40f-154a253e33ab/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7f7f424f-8258-40c2-a40f-154a253e33ab/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7f7f424f-8258-40c2-a40f-154a253e33ab/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7f7f424f-8258-40c2-a40f-154a253e33ab/volume", "rel": "self"}, {"href": "http://localhost/nodes/7f7f424f-8258-40c2-a40f-154a253e33ab/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7f7f424f-8258-40c2-a40f-154a253e33ab/states", "rel": "self"}, {"href": "http://localhost/nodes/7f7f424f-8258-40c2-a40f-154a253e33ab/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": "2021-01-19T06:02:17.822887+00:00"} PATCH: /v1/nodes/2a6cb6ca-7a14-430e-8adc-1364e840a618 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-e26d30ba-60c4-441a-824e-d49e9b842726 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update owner of node \\\"2a6cb6ca-7a14-430e-8adc-1364e840a618\\\" while it is in state \\\"active\\\".\", \"debuginfo\": null}"} PATCH: /v1/nodes/0bdf835a-dbe7-4562-8195-579eb5fe57b5 [{'path': '/resource_class', 'value': 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-07c8b3de-560e-4631-a0a8-3a0e6362b7e7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.21 {"uuid": "0bdf835a-dbe7-4562-8195-579eb5fe57b5", "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/0bdf835a-dbe7-4562-8195-579eb5fe57b5", "rel": "self"}, {"href": "http://localhost/nodes/0bdf835a-dbe7-4562-8195-579eb5fe57b5", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/0bdf835a-dbe7-4562-8195-579eb5fe57b5/ports", "rel": "self"}, {"href": "http://localhost/nodes/0bdf835a-dbe7-4562-8195-579eb5fe57b5/ports", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0bdf835a-dbe7-4562-8195-579eb5fe57b5/states", "rel": "self"}, {"href": "http://localhost/nodes/0bdf835a-dbe7-4562-8195-579eb5fe57b5/states", "rel": "bookmark"}], "network_interface": null, "updated_at": null, "created_at": "2021-01-19T06:02:17.939930+00:00"} PATCH: /v1/nodes/c67ea094-872d-4ecf-b5ab-65bf833497db [{'path': '/storage_interface', 'value': 'cinder', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a0974713-a7e3-4a66-85a5-b2a7e25c53ac X-Openstack-Ironic-Api-Maximum-Version: 1.68 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 {'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-5ca216c4-db2c-4e6a-a581-6cf12c9cdd04 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': {}, '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-b36b9e51-3d72-484a-89d8-a0d2ba8c0ade X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.126566+00:00"}{15} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_default_resource_class [0.115743s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner [0.080284s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_console_not_supported [0.047154s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait [0.048550s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_too_long_trait [0.050854s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_invalid_api_version [0.046464s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_internal_info [0.074941s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_not_allowed [0.033131s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_mandatory_field [0.036151s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_upgrade [0.052436s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_upgrade [0.049231s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_not_found [0.037715s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_old_api_version [0.043995s] ... 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, 'lessee': None, 'description': 'useful stuff', 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'network_data': {}, 'updated_at': None, 'created_at': '2021-01-19T06:02:18.098292+00:00'} 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-c9886386-dc5d-4528-ad71-58f5591fae06 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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 {'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-fd06abb5-e270-456b-b2f3-9f0616bc4425 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.211556+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': '2021-01-19T06:02:18.211556+00:00'} 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-2db9491e-a29c-4d5e-a0e9-feb7b99e246b X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/states/provision {'target': 'manage'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-df713b6e-8594-4c9e-9a4c-55e254eecbe7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.4 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-cb0f86c2-95b3-42e4-ac02-de1a8d6a314b X-Openstack-Ironic-Api-Maximum-Version: 1.68 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'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-4bf6619f-5dd8-45fa-8e3b-31ead1ae16c1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_valid_soft_ver [0.042476s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_invalid_soft_ver [0.041963s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive [0.044654s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_configdrive [0.054939s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_enabled [0.044856s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body_2 [0.045991s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_empty [0.048187s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address [0.047745s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_existent_address [0.034002s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_old_api [0.042725s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_port_address_normalized [0.060966s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortsCollection.test__get_ports_collection [0.007226s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_address [0.035848s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_no_mandatory_field_node_uuid [0.035020s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_noportgroup [0.056254s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_cannot_send_create_port [0.045157s] ... ok PATCH: /v1/nodes/52b0dc74-e344-4a34-a4a3-af4ad76a2744 [{'path': '/resource_class', 'value': 'foo', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-daea7cec-e0eb-47fb-9a2f-2fa1d5e69cb4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-358f9971-2d2f-4286-91f9-cad7be94aecd X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-ceeb184a-d069-4ce6-a747-5612d25531b2 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-58cd2358-2aff-4414-ac72-fc067a19fed6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-8a7c9cf5-535f-44f6-ba07-6dba27b4e168 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-f7414544-5459-41d5-a920-fc809857a0c4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-51c4dc23-e778-4d71-8698-ead6c026acc5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-e3fd82c2-a04c-4fd3-a500-83fd4c90f46c X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-5f986729-b073-4597-8fd7-b105ac2d7ca3 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru {'foo': 'bar'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d0bcd06a-8e46-47bd-8188-4f994955843b X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"}{17} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_without_method [0.034049s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_from_active_fails [0.058594s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_managed_state [0.091570s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_valid_soft_ver [0.045859s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_invalid_state_request [0.042630s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy_configdrive_as_dict_all_fields [0.046144s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild_unsupported_configdrive [0.055731s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_with_bad_version [0.029908s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_rejects_bad_trait [0.046579s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_node_locked [0.048437s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_bad_version [0.049772s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_older_api_version [0.035458s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_too_long [0.045539s] ... ok PATCH: /v1/nodes/f89085f4-4cc2-47ff-94ad-d69d55d483ee [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-4f32e224-bed3-463f-bca8-6a0ff4bf6198 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "f89085f4-4cc2-47ff-94ad-d69d55d483ee", "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/f89085f4-4cc2-47ff-94ad-d69d55d483ee", "rel": "self"}, {"href": "http://localhost/nodes/f89085f4-4cc2-47ff-94ad-d69d55d483ee", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/f89085f4-4cc2-47ff-94ad-d69d55d483ee/ports", "rel": "self"}, {"href": "http://localhost/nodes/f89085f4-4cc2-47ff-94ad-d69d55d483ee/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2021-01-19T06:02:18.274842+00:00"} PATCH: /v1/nodes/5114ddd7-c7f2-401a-98cf-ae068131de7d [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a5c2d92c-eecf-4fee-b3ea-7a4af1315e56 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "5114ddd7-c7f2-401a-98cf-ae068131de7d", "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/5114ddd7-c7f2-401a-98cf-ae068131de7d", "rel": "self"}, {"href": "http://localhost/nodes/5114ddd7-c7f2-401a-98cf-ae068131de7d", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/5114ddd7-c7f2-401a-98cf-ae068131de7d/ports", "rel": "self"}, {"href": "http://localhost/nodes/5114ddd7-c7f2-401a-98cf-ae068131de7d/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2021-01-19T06:02:18.301373+00:00"} PATCH: /v1/nodes/e9f905e5-5b01-48f2-a9d4-b35198f3ca8b [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-e0231f80-780c-4396-aa48-1b63e80c751e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "e9f905e5-5b01-48f2-a9d4-b35198f3ca8b", "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/e9f905e5-5b01-48f2-a9d4-b35198f3ca8b", "rel": "self"}, {"href": "http://localhost/nodes/e9f905e5-5b01-48f2-a9d4-b35198f3ca8b", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/e9f905e5-5b01-48f2-a9d4-b35198f3ca8b/ports", "rel": "self"}, {"href": "http://localhost/nodes/e9f905e5-5b01-48f2-a9d4-b35198f3ca8b/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2021-01-19T06:02:18.327736+00:00"} PATCH: /v1/nodes/89845a68-ac51-4bd1-8bbc-2e1c8777fc71 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bd6880a4-cc08-476b-ba17-5d797990152d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "89845a68-ac51-4bd1-8bbc-2e1c8777fc71", "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/89845a68-ac51-4bd1-8bbc-2e1c8777fc71", "rel": "self"}, {"href": "http://localhost/nodes/89845a68-ac51-4bd1-8bbc-2e1c8777fc71", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/89845a68-ac51-4bd1-8bbc-2e1c8777fc71/ports", "rel": "self"}, {"href": "http://localhost/nodes/89845a68-ac51-4bd1-8bbc-2e1c8777fc71/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2021-01-19T06:02:18.354124+00:00"} PATCH: /v1/nodes/a7dfc222-062b-4408-a93f-f6725cec28f6 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-78d321a7-de67-4dd3-9c8c-fd1e81d4bad3 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "a7dfc222-062b-4408-a93f-f6725cec28f6", "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/a7dfc222-062b-4408-a93f-f6725cec28f6", "rel": "self"}, {"href": "http://localhost/nodes/a7dfc222-062b-4408-a93f-f6725cec28f6", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/a7dfc222-062b-4408-a93f-f6725cec28f6/ports", "rel": "self"}, {"href": "http://localhost/nodes/a7dfc222-062b-4408-a93f-f6725cec28f6/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2021-01-19T06:02:18.380484+00:00"} PATCH: /v1/nodes/d9d2ecd4-fb25-44fa-a308-b1397146d406 [{'path': '/retired_reason', 'value': 'a better reason', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-62122b0b-9c58-49b1-bb83-3444a6101c36 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "d9d2ecd4-fb25-44fa-a308-b1397146d406", "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/d9d2ecd4-fb25-44fa-a308-b1397146d406", "rel": "self"}, {"href": "http://localhost/nodes/d9d2ecd4-fb25-44fa-a308-b1397146d406", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/d9d2ecd4-fb25-44fa-a308-b1397146d406/ports", "rel": "self"}, {"href": "http://localhost/nodes/d9d2ecd4-fb25-44fa-a308-b1397146d406/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d9d2ecd4-fb25-44fa-a308-b1397146d406/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d9d2ecd4-fb25-44fa-a308-b1397146d406/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d9d2ecd4-fb25-44fa-a308-b1397146d406/volume", "rel": "self"}, {"href": "http://localhost/nodes/d9d2ecd4-fb25-44fa-a308-b1397146d406/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d9d2ecd4-fb25-44fa-a308-b1397146d406/states", "rel": "self"}, {"href": "http://localhost/nodes/d9d2ecd4-fb25-44fa-a308-b1397146d406/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, "retired": true, "retired_reason": null, "updated_at": null, "created_at": "2021-01-19T06:02:18.431788+00:00"}{10} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_reason [0.062307s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class_old_api_version [0.031911s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_no_ver [0.043902s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_rebuild [0.053899s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request_missing_parameter [0.043312s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_chassis_notification [0.007080s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_node_notification [0.009039s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_physical_network [0.077269s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_allow [0.009578s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port [0.094512s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_node_uuid_format [0.035418s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_switch_id_bad_mac [0.044080s] ... 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': {}, 'lessee': 'project', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1eb923b3-2044-46eb-8bc5-a4b3a8b78759 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"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-a22d8ed3-516d-4ee5-ac4e-6518d05342c5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-66cc5620-c245-4193-942d-0a0c34020c47 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-f751b039-1952-4a14-a1cb-13c14e08b4d5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-0fa58f3e-1c0a-438b-a9e0-8852ebe74185 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/management/inject_nmi {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e3753ae0-2d6e-42d1-b74e-1a1065fec0ab X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/node-39/maintenance {'reason': 'fake_reason'} GOT:Response: 202 Accepted Openstack-Request-Id: req-890f770f-05cd-41b3-93e0-841a48b61b8e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 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': '2021-01-19T06:02:18.309613+00:00', 'updated_at': None}]} 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-893bc3dc-8521-421f-b70f-8c07e5c845e7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '2021-01-19T06:02:18.429670+00:00', 'updated_at': None} 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-5b0b3afa-6dff-4812-9365-0936439c09e5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.480165+00:00", "updated_at": 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-26dec8e3-476c-4470-b407-8b2b890053a8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-26b417f6-06f6-4682-9543-9d1dff6d88b0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.587916+00:00", "updated_at": "2021-01-19T06:02:18.621575+00:00"} 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-9c349a7a-04fb-46ee-bae1-b12495ce06bc X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"}{2} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byaddress_not_allowed [0.036037s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_non_text [0.044542s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byid [0.047337s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_with_json [0.043734s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_custom_fields [0.044213s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_mode_field_lower_api_version [0.034930s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_non_existent_property_fail [0.037431s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_ignore_malformed_address [0.066443s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_types.TestEventType.test_simple_event_type [0.006219s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_types.TestNameType.test_invalid_name [0.006457s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields [0.005171s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroup_mode_properties [0.006038s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group [0.006285s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs [0.005958s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.006575s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_is_valid_node_name [0.006113s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_sync [0.006709s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_max_ver_str [0.005884s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_name_value_match [0.006250s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid [0.061265s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_custom_fields [0.069411s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_invalid_api_version [0.025054s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_links [0.091661s] ... ok {2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_mandatory_field [0.038678s] ... ok GET: /v1/nodes/25b93c4d-c241-4d12-8c00-a52be7b47f02 {} GOT:{'uuid': '25b93c4d-c241-4d12-8c00-a52be7b47f02', '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/25b93c4d-c241-4d12-8c00-a52be7b47f02', 'rel': 'self'}, {'href': 'http://localhost/nodes/25b93c4d-c241-4d12-8c00-a52be7b47f02', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/25b93c4d-c241-4d12-8c00-a52be7b47f02/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/25b93c4d-c241-4d12-8c00-a52be7b47f02/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/25b93c4d-c241-4d12-8c00-a52be7b47f02/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/25b93c4d-c241-4d12-8c00-a52be7b47f02/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/25b93c4d-c241-4d12-8c00-a52be7b47f02/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/25b93c4d-c241-4d12-8c00-a52be7b47f02/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/25b93c4d-c241-4d12-8c00-a52be7b47f02/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/25b93c4d-c241-4d12-8c00-a52be7b47f02/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, 'lessee': None, 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'network_data': {'links': [{'id': 'interface2', 'type': 'vif', 'ethernet_mac_address': 'a0:36:9f:2c:e8:70', 'vif_id': 'e1c90e9f-eafc-4e2d-8ec9-58b91cebb53d', 'mtu': 1500}, {'id': 'interface0', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:80', 'mtu': 9000}, {'id': 'interface1', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:81', 'mtu': 9000}, {'id': 'bond0', 'type': 'bond', 'bond_links': ['interface0', 'interface1'], 'ethernet_mac_address': 'a0:36:9f:2c:e8:82', 'bond_mode': '802.1ad', 'bond_xmit_hash_policy': 'layer3+4', 'bond_miimon': 100}, {'id': 'vlan0', 'type': 'vlan', 'vlan_link': 'bond0', 'vlan_id': 101, 'vlan_mac_address': 'a0:36:9f:2c:e8:80', 'vif_id': 'e1c90e9f-eafc-4e2d-8ec9-58b91cebb53f'}], 'networks': [{'id': 'private-ipv4', 'type': 'ipv4', 'link': 'interface0', 'ip_address': '10.184.0.244', 'netmask': '255.255.240.0', 'routes': [{'network': '10.0.0.0', 'netmask': '255.0.0.0', 'gateway': '11.0.0.1'}, {'network': '0.0.0.0', 'netmask': '0.0.0.0', 'gateway': '23.253.157.1'}], 'network_id': 'da5bb487-5193-4a65-a3df-4a0055a8c0d7'}, {'id': 'private-ipv4', 'type': 'ipv6', 'link': 'interface0', 'ip_address': '2001:cdba::3257:9652/24', 'routes': [{'network': '::', 'netmask': '::', 'gateway': 'fd00::1'}, {'network': '::', 'netmask': 'ffff:ffff:ffff::', 'gateway': 'fd00::1:1'}], 'network_id': 'da5bb487-5193-4a65-a3df-4a0055a8c0d8'}, {'id': 'publicnet-ipv4', 'type': 'ipv4', 'link': 'vlan0', 'ip_address': '23.253.157.244', 'netmask': '255.255.255.0', 'dns_nameservers': ['69.20.0.164', '69.20.0.196'], 'routes': [{'network': '0.0.0.0', 'netmask': '0.0.0.0', 'gateway': '23.253.157.1'}], 'network_id': '62611d6f-66cb-4270-8b1f-503ef0dd4736'}], 'services': [{'type': 'dns', 'address': '8.8.8.8'}, {'type': 'dns', 'address': '8.8.4.4'}]}, 'updated_at': None, 'created_at': '2021-01-19T06:02:18.071518+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': '2021-01-19T06:02:18.137069+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': '2021-01-19T06:02:18.137069+00:00'}{16} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_owner_hidden_in_lower_version [0.066179s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_states_by_name [0.047057s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_ports_subresource_noid [0.039420s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_chassis_uuid [0.058674s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_root [0.052596s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_add_state_in_cleaning [0.049213s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_fault_forbidden [0.041561s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update [0.052346s] ... ok GET: /v1/nodes/a2cf0dac-9aef-4a8c-b74c-bd15db296b89 {} GOT:{'uuid': 'a2cf0dac-9aef-4a8c-b74c-bd15db296b89', '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/a2cf0dac-9aef-4a8c-b74c-bd15db296b89', 'rel': 'self'}, {'href': 'http://localhost/nodes/a2cf0dac-9aef-4a8c-b74c-bd15db296b89', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/a2cf0dac-9aef-4a8c-b74c-bd15db296b89/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/a2cf0dac-9aef-4a8c-b74c-bd15db296b89/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/a2cf0dac-9aef-4a8c-b74c-bd15db296b89/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/a2cf0dac-9aef-4a8c-b74c-bd15db296b89/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/a2cf0dac-9aef-4a8c-b74c-bd15db296b89/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/a2cf0dac-9aef-4a8c-b74c-bd15db296b89/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/a2cf0dac-9aef-4a8c-b74c-bd15db296b89/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/a2cf0dac-9aef-4a8c-b74c-bd15db296b89/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': '2021-01-19T06:02:17.786863+00:00'} GET: /v1/nodes?sort_key=resource_class {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-d94dfcf5-3d20-419a-87de-4e060db13902 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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-37d6043b-8ac6-4efb-98e4-674de17b2ffd X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/2c6bd217-cb9a-405d-b663-3fe9e439549d [{'path': '/automated_clean', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-329b918e-e080-4ded-b71d-a9a1224d805e X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-3a6e69df-f1b2-47c3-b864-0a52334ed9fa X-Openstack-Ironic-Api-Maximum-Version: 1.68 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_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-546edd03-d14a-4777-ac1b-d83f8a23fa31 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-79c89a42-f904-452d-8540-c860e54ada8c X-Openstack-Ironic-Api-Maximum-Version: 1.68 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: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-562ad235-7c3d-4490-86ec-bf590fc0e7e3 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/power {'target': 'soft power off', 'timeout': 0} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-920eeb5f-aa7d-46ff-a679-95c5402fee83 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/provision {'target': 'provide'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-91070ad8-677e-401f-8d79-2805da4647af X-Openstack-Ironic-Api-Maximum-Version: 1.68 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', 'configdrive': {'user_data': 'foo'}} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-b88fa33d-1f16-4674-92ac-bf4e1539903a X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': 'deleted'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-3e86635c-e038-4f46-86fb-a7b43ced7c6a X-Openstack-Ironic-Api-Maximum-Version: 1.68 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'}{18} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_not_supported [0.045825s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_invalid_value [0.049158s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_versioning [0.045098s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_custom_fields [0.050907s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_detailed_with_deleted_node [0.040530s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_allowed [0.053039s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_extra_vif_port_id_no_internal [0.060754s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type [0.057793s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_byid [0.059604s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_local_link_connection_none_type [0.009038s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_keys [0.061626s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found [0.042629s] ... 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': 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': '2021-01-19T06:02:18.259483+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': '2021-01-19T06:02:18.259483+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': '2021-01-19T06:02:18.323534+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': '2021-01-19T06:02:18.323534+00:00'}{3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_node_protected_reason_hidden_in_lower_version [0.257677s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_one [0.060787s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_portgroups_subresource_link_hidden_for_older_versions [0.043189s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_validate_by_uuid_using_deprecated_interface [0.041539s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_deploy_step_forbidden [0.045138s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_portgroups_subresource [0.042786s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_remove_mandatory_field [0.038145s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group_old_api [0.042583s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_reason [0.053538s] ... ok PATCH: /v1/nodes/c183397c-4507-40eb-9771-76bccc325c19 [{'path': '/instance_uuid', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5d5c6470-9cb2-48b4-8b39-39312f7a4b0b X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 {"uuid": "c183397c-4507-40eb-9771-76bccc325c19", "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/c183397c-4507-40eb-9771-76bccc325c19", "rel": "self"}, {"href": "http://localhost/nodes/c183397c-4507-40eb-9771-76bccc325c19", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/c183397c-4507-40eb-9771-76bccc325c19/ports", "rel": "self"}, {"href": "http://localhost/nodes/c183397c-4507-40eb-9771-76bccc325c19/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c183397c-4507-40eb-9771-76bccc325c19/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c183397c-4507-40eb-9771-76bccc325c19/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c183397c-4507-40eb-9771-76bccc325c19/volume", "rel": "self"}, {"href": "http://localhost/nodes/c183397c-4507-40eb-9771-76bccc325c19/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c183397c-4507-40eb-9771-76bccc325c19/states", "rel": "self"}, {"href": "http://localhost/nodes/c183397c-4507-40eb-9771-76bccc325c19/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": "2021-01-19T06:02:18.248037+00:00"} 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-94c892a6-4a86-4758-bbfe-4f07ad9be375 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.296647+00:00"} 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-420f55ea-34fb-47de-912d-483b5cb674e0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.351437+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': None} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-5adeefc0-6811-46be-87e6-36d2faa162f2 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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'}{13} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_always_in_response [0.110897s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_resource_class [0.072137s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_protected_not_allowed [0.032104s] ... 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': {'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, 'lessee': None, 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'network_data': {}, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.999515+00:00'} 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-483b5107-d825-4159-9e1d-4d7bdb1603eb X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.048989+00:00"} PATCH: /v1/nodes/ec40fd9e-c571-4422-b2df-8345c81db361 [{'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f46bc2b2-87a9-4c62-bd8b-ad2a3b836d5c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "ec40fd9e-c571-4422-b2df-8345c81db361", "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/ec40fd9e-c571-4422-b2df-8345c81db361", "rel": "self"}, {"href": "http://localhost/nodes/ec40fd9e-c571-4422-b2df-8345c81db361", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/ec40fd9e-c571-4422-b2df-8345c81db361/ports", "rel": "self"}, {"href": "http://localhost/nodes/ec40fd9e-c571-4422-b2df-8345c81db361/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/ec40fd9e-c571-4422-b2df-8345c81db361/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/ec40fd9e-c571-4422-b2df-8345c81db361/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/ec40fd9e-c571-4422-b2df-8345c81db361/volume", "rel": "self"}, {"href": "http://localhost/nodes/ec40fd9e-c571-4422-b2df-8345c81db361/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/ec40fd9e-c571-4422-b2df-8345c81db361/states", "rel": "self"}, {"href": "http://localhost/nodes/ec40fd9e-c571-4422-b2df-8345c81db361/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.115902+00:00"} PATCH: /v1/nodes/node-57.1 [{'path': '/maintenance', 'op': 'replace', 'value': 'true'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-508d9976-2fe1-40f3-bd50-368b0aa50490 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.160700+00:00"}{4} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_replace_maintenance_by_name [0.053834s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_by_name_unsupported [0.038928s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_conductor_group [0.058763s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_automated_clean_old_api_version [0.031563s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0aaaf174-a00e-4674-a91b-7ad4597bc882 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-3ab35bf1-f780-4dd5-b6a4-668cf564e15c X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-87944b1a-7378-4069-abc1-fef9b679e797 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-1196ad96-ac0f-4e87-ae4e-62a9a13c4da8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-201c8a93-e2cf-494f-b238-5f0dbc8b2d40 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-8a6df1a2-94ac-46de-b613-20af42b4ee26 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-a1cb6f98-d6c5-43d6-a517-2baf2493b65d X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-20912dd4-6997-469f-9f23-5a219ca36b62 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6ccbe68f-7d53-4052-8994-39b55d96188c X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/node-39/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-0d7c2b0e-9961-4efd-92e2-52fc3d6b3ab4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 PUT: /v1/nodes/node-39/traits {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8e23b677-bbe2-4bcb-8fca-94c3b4c3e56a X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} GET: /v1/ports?detail=True {}{7} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query [0.051266s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_with_incorrect_api_usage [0.031492s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_not_supported [0.037129s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_portgroup_uuid [0.077697s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden [0.037598s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_node_not_found [0.024338s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_local_link_connection_network_type_old_api [0.042284s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_portgroups_subresource_patch [0.041598s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_id [0.046241s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_physnet_too_long [0.042216s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_node_uuid_not_found [0.040397s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc [0.060129s] ... 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-746a9577-d488-4ac3-9172-35bcf63cfbba X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-19339db7-7cbe-450b-824e-fde23ea2df84 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-67e6962f-706d-4381-8992-ef3705bb498c X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-f568746e-1d5b-4548-b0f3-f110f2643507 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-03ee73f9-4c68-425e-a864-ad52664fc231 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/ports?fields=address,uuid {} GOT:{'ports': [{'uuid': 'c4f297ac-9934-43c2-b822-6f480fc17cbc', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/c4f297ac-9934-43c2-b822-6f480fc17cbc', 'rel': 'self'}, {'href': 'http://localhost/ports/c4f297ac-9934-43c2-b822-6f480fc17cbc', 'rel': 'bookmark'}]}, {'uuid': '796601ef-cf5b-415f-9a6b-96582e5316a5', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/796601ef-cf5b-415f-9a6b-96582e5316a5', 'rel': 'self'}, {'href': 'http://localhost/ports/796601ef-cf5b-415f-9a6b-96582e5316a5', 'rel': 'bookmark'}]}, {'uuid': '161b97ae-680f-4236-b030-f158ab899af5', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/161b97ae-680f-4236-b030-f158ab899af5', 'rel': 'self'}, {'href': 'http://localhost/ports/161b97ae-680f-4236-b030-f158ab899af5', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=161b97ae-680f-4236-b030-f158ab899af5'} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-bcec10b8-6824-4ffb-b4b4-61439e6e83a1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"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': '2021-01-19T06:02:18.615879+00:00', 'updated_at': None} GET: /v1/ports {} GOT:{'ports': [{'uuid': '6bc14191-4750-4880-b727-1e53c12dd70d', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/6bc14191-4750-4880-b727-1e53c12dd70d', 'rel': 'self'}, {'href': 'http://localhost/ports/6bc14191-4750-4880-b727-1e53c12dd70d', 'rel': 'bookmark'}]}, {'uuid': '0308c07c-bd75-4202-af40-218687cf444d', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/0308c07c-bd75-4202-af40-218687cf444d', 'rel': 'self'}, {'href': 'http://localhost/ports/0308c07c-bd75-4202-af40-218687cf444d', 'rel': 'bookmark'}]}, {'uuid': '8b701b30-9047-4fef-991b-d8cc552958f7', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/8b701b30-9047-4fef-991b-d8cc552958f7', 'rel': 'self'}, {'href': 'http://localhost/ports/8b701b30-9047-4fef-991b-d8cc552958f7', 'rel': 'bookmark'}]}, {'uuid': '6e94ece3-b903-445d-94f9-cc7120c8809f', 'address': '52:54:00:cf:2d:33', 'links': [{'href': 'http://localhost/v1/ports/6e94ece3-b903-445d-94f9-cc7120c8809f', 'rel': 'self'}, {'href': 'http://localhost/ports/6e94ece3-b903-445d-94f9-cc7120c8809f', 'rel': 'bookmark'}]}, {'uuid': 'f78d5c74-63a7-429b-a5ed-0d7604dfdb51', 'address': '52:54:00:cf:2d:34', 'links': [{'href': 'http://localhost/v1/ports/f78d5c74-63a7-429b-a5ed-0d7604dfdb51', 'rel': 'self'}, {'href': 'http://localhost/ports/f78d5c74-63a7-429b-a5ed-0d7604dfdb51', 'rel': 'bookmark'}]}]} 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-bae1aaef-4d05-4f5a-a342-0b62e75262f4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-b3a97e29-d00a-49ae-a3af-15a0ac50ac46 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:18.833780+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': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'}{0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_uuid_not_found_old_api_version [0.042594s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_upgrade [0.045393s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_empty [0.039154s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_allowed [0.057403s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_no_extra [0.048711s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_version [0.035646s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_verify_ca_error [0.036548s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_api_version [0.023190s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_min_version [0.020771s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_true_values [0.005941s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_sort_dir [0.005440s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_with_owner [0.011286s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_policy_forbidden [0.007830s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden_no_project [0.007175s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned_in_release_mappings [0.005468s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume [0.101063s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume.TestGetVolume.test_get_volume_invalid_api_version [0.022636s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_node_locked [0.052920s] ... 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': '2021-01-19T06:02:18.085851+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, 'allocation_uuid': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:18.623186+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, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'updated_at': None, 'created_at': '2021-01-19T06:02:18.623186+00:00'} 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-06fa0235-142d-4718-8ccd-0518eca8df8d X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/volume {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-e2f0fe35-7f4d-40db-8bd9-7ed5ff03a279 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"}{5} ironic.tests.unit.api.controllers.v1.test_node.TestListNodes.test_volume_subresource_invalid_api_version [0.201797s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_add_name_invalid [0.051066s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_generic_and_instance_info [0.055432s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_fails_bad_driver_info [0.052576s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_old_api [0.044178s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_chassis_uuid_not_found [0.034965s] ... ok PATCH: /v1/nodes/2a6f6890-71c9-401a-b78d-108173f509d1 [{'path': '/resource_class', 'value': 'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e800f388-6f7b-4f0d-8450-aaa393a7074c X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-7ef98321-e3b5-4d15-b5fe-0e7c2273498e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.253137+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, 'lessee': None, 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'network_data': {}, 'updated_at': None, 'created_at': '2021-01-19T06:02:18.253137+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'}{9} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_description_oversize [0.032726s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_explicit_network_interface [0.076259s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_traits [0.031594s] ... ok 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-05f803ce-a0d7-4952-a240-59681a936867 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d24231c9-451b-4a03-8ea4-9ea7df72b8cf X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"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': '2021-01-19T06:02:18.772884+00:00', 'updated_at': None} 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-4001824e-34a3-4d77-9475-270a149e6b99 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:18.815607+00:00", "updated_at": "2021-01-19T06:02:18.819243+00:00"} 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/0344485e-c9ce-4246-b7c7-ed7cb565ee11 Openstack-Request-Id: req-4bf73e37-5a57-49e1-90ec-221987aac283 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "0344485e-c9ce-4246-b7c7-ed7cb565ee11", "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/0344485e-c9ce-4246-b7c7-ed7cb565ee11", "rel": "self"}, {"href": "http://localhost/portgroups/0344485e-c9ce-4246-b7c7-ed7cb565ee11", "rel": "bookmark"}], "standalone_ports_supported": true, "mode": "active-backup", "properties": {}, "ports": [{"href": "http://localhost/v1/portgroups/0344485e-c9ce-4246-b7c7-ed7cb565ee11/ports", "rel": "self"}, {"href": "http://localhost/portgroups/0344485e-c9ce-4246-b7c7-ed7cb565ee11/ports", "rel": "bookmark"}], "created_at": "2021-01-19T06:02:18.898491+00:00", "updated_at": null} GET: /v1/portgroups/0344485e-c9ce-4246-b7c7-ed7cb565ee11 {} GOT:{'uuid': '0344485e-c9ce-4246-b7c7-ed7cb565ee11', '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/0344485e-c9ce-4246-b7c7-ed7cb565ee11', 'rel': 'self'}, {'href': 'http://localhost/portgroups/0344485e-c9ce-4246-b7c7-ed7cb565ee11', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, 'ports': [{'href': 'http://localhost/v1/portgroups/0344485e-c9ce-4246-b7c7-ed7cb565ee11/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/0344485e-c9ce-4246-b7c7-ed7cb565ee11/ports', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:18.898491+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: 201 Created Content-Type: application/json Location: http://localhost/v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 Openstack-Request-Id: req-eacc6dcf-3bc2-40ab-a5ca-534db07bfedf X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123.json {'callback_url': 'url', 'agent_token': 'maybe some magic'} GOT:Response: 202 Accepted Openstack-Request-Id: req-b7ccb673-c1e8-472e-a1a2-691a05321241 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 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-ba612c6d-d05c-400f-8c71-f5e40e9f18c6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"debuginfo\": null}"} DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781{6} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid [0.045294s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_against_single [0.036927s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one [0.045809s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_invalid_power_state [0.053146s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_generate_uuid [0.074230s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links [0.062385s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_invalid_api_version [0.024129s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid [0.049560s] ... ok {6} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_singular [0.052595s] ... 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-d0c70bb3-b7da-4d6e-a0af-20c89bbea97d X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.353062+00:00"} 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-3216befe-e60a-4ad3-bf1b-5816f9e7cef6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-322cf652-1c55-426b-86d5-e4884720861b X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': {}, 'network_interface': 'flat', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-66db065c-4adf-4c12-b625-167a06916ef1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/provision {'target': 'active'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-7bec4709-9a2d-437d-bb37-ac2d104f6c62 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-c1f219b8-3dbb-4195-830e-2b354d3a7690 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': 'active'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-a2f3a6cb-31cf-4d79-86b0-726edc9f97c8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-1a912f73-acf2-4155-9bc9-065ca24e573e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.12 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {'state': 'on'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-82f10240-c93a-4aac-983f-6fb9248ed301 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} DELETE: /v1/nodes/node-39/traits GOT:Response: 204 No Content Openstack-Request-Id: req-74b02abc-baf6-42bc-a3c4-e2a73cc077d8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-6365e850-a200-49ae-b7e9-00ec35fd6682 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} GET: /v1/ports?fields=uuid,extra {} GOT:{'ports': [{'uuid': '5837a76d-6744-49b4-9169-6e21c2ea9435', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/5837a76d-6744-49b4-9169-6e21c2ea9435', 'rel': 'self'}, {'href': 'http://localhost/ports/5837a76d-6744-49b4-9169-6e21c2ea9435', 'rel': 'bookmark'}]}, {'uuid': '9a158360-98a7-4462-826a-1fc6ae7fac44', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/9a158360-98a7-4462-826a-1fc6ae7fac44', 'rel': 'self'}, {'href': 'http://localhost/ports/9a158360-98a7-4462-826a-1fc6ae7fac44', 'rel': 'bookmark'}]}, {'uuid': 'b9eb5482-97d4-4c77-9b69-998c79004a70', 'extra': {}, 'links': [{'href': 'http://localhost/v1/ports/b9eb5482-97d4-4c77-9b69-998c79004a70', 'rel': 'self'}, {'href': 'http://localhost/ports/b9eb5482-97d4-4c77-9b69-998c79004a70', 'rel': 'bookmark'}]}]}{8} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_collection_custom_fields [0.066028s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_non_admin_forbidden_no_project [0.038739s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin_no_match [0.041962s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_normalized [0.092045s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_old_api_version [0.044494s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_internal_field [0.039756s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_default_value [0.064061s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_invalid_api_version [0.026725s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_invalid_api_version [0.024659s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_api_version [0.030630s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_old_api_version [0.036335s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_remove_non_existent [0.005901s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_similar_subpath [0.004985s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_subpath_success [0.008231s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive [0.007732s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class [0.005530s] ... 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, 'lessee': None, 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'network_data': {}, 'updated_at': None, 'created_at': '2021-01-19T06:02:17.898136+00:00'} GET: /v1/nodes?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e6387456-d40e-4735-a1d6-7fcfeea0c5ff X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-5b6e6d3b-7ce7-4504-b57d-36bc897d6571 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-f6e2b0e0-6590-409f-b48d-6d07d7e2d103 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-6918832d-4292-4685-842d-5a2cca740045 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-aac00565-4f9d-4608-824d-c2b30c5a7de4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-dcd8d77d-940f-4bb9-8115-eca5af96753c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-d17b8595-614b-4365-b4a3-83f691663f51 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-5e53cb11-12c8-42ee-ab18-953aa2794bf4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value traits is an invalid field for sorting\", \"debuginfo\": null}"} 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-16631764-ec4d-45bd-bc4e-5f156c026bf2 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/80e72317-7fcf-4b88-9379-af64808ab9d2 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-dd680526-01a6-47af-89a6-d7723deee95b X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "80e72317-7fcf-4b88-9379-af64808ab9d2", "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/80e72317-7fcf-4b88-9379-af64808ab9d2", "rel": "self"}, {"href": "http://localhost/nodes/80e72317-7fcf-4b88-9379-af64808ab9d2", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/80e72317-7fcf-4b88-9379-af64808ab9d2/ports", "rel": "self"}, {"href": "http://localhost/nodes/80e72317-7fcf-4b88-9379-af64808ab9d2/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2021-01-19T06:02:18.136626+00:00"} PATCH: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/ports/9bb50f13-0b8d-4ade-ad2d-d91fefdef9cc [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}]{11} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_ports_subresource [0.313459s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface [0.061821s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_allocation_owned [0.055602s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_invalid_storage_interface [0.039691s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/power {'target': 'power on', 'timeout': 2} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8bd72603-50b1-4cb0-a488-157463f80b25 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/provision {'target': 'active', 'configdrive': 'foo'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-ae6fcc53-e3d8-4a67-9ca7-ec441535f0c0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-5aa05cd0-2e5c-4ff5-8d72-48cb4e2c2ffa X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.35 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-bdfa785e-e570-4e36-ace9-3a322d916654 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/node-39/traits/CUSTOM_3 {'traits': ['CUSTOM_3']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7d39986f-776d-4c0d-8767-928acb54abd1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-7ad05c86-5922-424a-ae48-b97531c50e22 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} GOT:{'ports': [{'uuid': '39e21b78-ab3b-4ed5-969d-2a060db9af47', 'address': 'aa:bb:cc:dd:ee:f1', 'links': [{'href': 'http://localhost/v1/ports/39e21b78-ab3b-4ed5-969d-2a060db9af47', 'rel': 'self'}, {'href': 'http://localhost/ports/39e21b78-ab3b-4ed5-969d-2a060db9af47', 'rel': 'bookmark'}]}]} GET: /v1/ports?address=aa:bb:cc:dd:ee:ff {} GOT:{'ports': []} 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-aca24379-f814-429f-83e2-7349e6f7686e X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-12cb90d4-ba66-43d1-ab1e-0d0249b1c68c X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.868293+00:00", "updated_at": "2021-01-19T06:02:18.903400+00:00"} 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-3be3484a-9c4b-4611-afde-ca0656ba70cd X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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, 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e9c78077-6b9a-4fc7-a3b5-cb1fb220ead1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': 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-867a0759-3596-4fb1-83fa-ff012b6673a6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:19.038252+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-d8269acd-5043-40c0-be1b-50ff0d14f08e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-c0b18348-98b8-4da3-97de-217f23082b89 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Can not specify ?detail=True and fields in the same request.\", \"debuginfo\": null}"}{1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_and_fields [0.037816s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_pagination_no_uuid [0.052562s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address [0.045795s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_not_allowed [0.030850s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_old_API_agent_version_error [0.027730s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_low [0.005965s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_extra_non_removable_attr [0.024694s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_attr [0.023758s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type [0.005815s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_rescue_interface [0.005987s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_fails [0.008004s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type [0.006016s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_rescue_interface_fail [0.008944s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class [0.005987s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node [0.007644s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_no_node_policy_forbidden [0.007447s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_name_no_logical_name [0.006442s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_connector_id [0.032118s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_detail [0.059909s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_uuid [0.031179s] ... ok {1} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_boot_index_already_exist [0.049790s] ... ok {1} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_disable_osp_wsgi_request [0.015736s] ... ok {1} ironic.tests.unit.api.test_types.TestTypes.test_enum [0.007497s] ... ok {1} ironic.tests.unit.api.test_types.TestTypes.test_validate_float [0.005790s] ... ok {1} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_defaults [0.017339s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_vol_not_found [0.055899s] ... ok {1} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes [0.052103s] ... ok {1} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_dynamic_driver_interfaces_set [0.019610s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_endpoint_less_than_download_delay [0.005922s] ... ok {1} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_key_detected [0.018661s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_isolinux_cfg [0.010705s] ... ok {1} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_deploy_iso [0.017949s] ... ok {1} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_download_size [0.006382s] ... ok {1} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_with_ssl [0.011661s] ... ok {1} ironic.tests.unit.common.test_json_rpc.TestService.test_mask_secrets [0.022404s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_cleaning [1.201176s] ... ok {1} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_no_ports_no_portgroups [0.036628s] ... ok {1} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments [0.006795s] ... ok {1} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_client [0.008505s] ... ok {1} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_3 [0.018822s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_deploy_ramdisk [0.011794s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_ramdisk [0.012221s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info_ipxe [0.011959s] ... ok {1} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options [0.045258s] ... ok {1} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_disk_type [0.007253s] ... 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.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_raid_level [0.007214s] ... ok {1} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_put_object_fails [0.036022s] ... ok {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_uuid_associated_with_another_instance [0.057398s] ... ok {1} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_unassociated_node [0.049601s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_hardware_interfaces [0.102387s] ... ok {1} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_hw_type_register [0.033398s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_fail_in_tear_down_cleaning [0.107702s] ... ok {1} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_none [0.077142s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console [0.185848s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_no_steps [0.389685s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_unexpected_error [0.162052s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_prepare_error [0.149822s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_fast_track [0.163665s] ... ok {1} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_start_deploy [0.140390s] ... ok {1} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_exception_in_background_task [0.156270s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_agent_token [0.144213s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok_fast_track [0.134585s] ... ok {1} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort_clean_up_fail [0.054345s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_failed [0.012039s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_recovery_success [0.013413s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_not_mapped [0.010394s] ... ok {1} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_enroll_on_acquire [0.011558s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_unexpected_error [0.135695s] ... ok {1} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_locked [0.042389s] ... ok {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_6_nodes_8_workers [0.012657s] ... ok {1} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_8_workers [0.009752s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_not_allowed_state [0.138476s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_with_broken_interface [0.046669s] ... ok {1} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_locked [0.028276s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_sync [0.095799s] ... ok {1} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_validation_failed [0.070191s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_False [0.014865s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_unknown_driver [0.018533s] ... ok {1} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_unknown_driver [0.016852s] ... ok {1} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_skip_missing [0.042181s] ... ok {1} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_non_core [0.042441s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_unstable [0.006857s] ... ok {1} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_cancelled [0.007003s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_cleaning [0.007689s] ... ok {1} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanwait [0.007377s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_tenant [0.116634s] ... ok {1} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_no_skip [0.039098s] ... ok {1} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_take_over [0.012611s] ... ok {1} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_migration_impossible2 [0.017729s] ... ok {1} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_1 [0.065899s] ... ok {1} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_old [0.049263s] ... ok {1} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_that_does_not_exist [0.017435s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_many_ht [0.016772s] ... ok {1} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor_hardware_interfaces [0.013666s] ... ok {1} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_sorted [0.018216s] ... ok {1} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_multiple_found [0.045417s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_uuid [0.018268s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup [0.022210s] ... ok {1} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address_that_does_not_exist [0.017318s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_address [0.018037s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner [0.018160s] ... ok {1} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project_no_match [0.018132s] ... ok {1} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_none_dhcp [0.006280s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_invalid_ip [0.019091s] ... ok {1} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_extra [0.054111s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_clean_steps [0.028613s] ... ok {1} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_nodebug [0.014863s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_drac_boot_device [0.020946s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_fail [0.017234s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_clear_job_queue [0.051758s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device [0.038372s] ... ok {1} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks_fail [0.014774s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_not_reached [0.050071s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_timeout [0.049807s] ... ok {1} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_boot_type_order [0.039385s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_deploy [0.061896s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_deploying [0.065021s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_unknown_error [0.036741s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_exc [0.015194s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_unsupported_url [0.055015s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_instance_image_info_not_iwdi [0.055261s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__get_floppy_image_name [0.014463s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices [0.049016s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode [0.043122s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_notfound_exc [0.030344s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode [0.013839s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_with_IloOperationError [0.013322s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.043173s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_without_params [0.040501s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode [0.050310s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum [0.015657s] ... 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.007501s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail [0.013189s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_invalid_format [0.013836s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_ok [0.012740s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_fail [1.283106s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode_fail [0.055268s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_deploy [0.058496s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_deploy [0.055870s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed_on_rebuild [0.044444s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_off [0.046612s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_cleaning [0.066814s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_deploying [0.062521s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning_deploying [0.075939s] ... ok {1} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_deploying [0.053513s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_validate [0.045682s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_deploy [0.048695s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed [0.042276s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk [0.057144s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.083104s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_kernel [0.039587s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_with_secure_boot_false [0.056064s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_ramdisk [0.045347s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_update_ipmi_properties [0.042719s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_community [0.014240s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_address [0.013541s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_id_sand_existing_cap [0.040730s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_skipped [0.045533s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_get_properties [0.034735s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ok [0.045015s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [0.041436s] ... ok {1} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_6 [0.013652s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_tenant_vif [0.047804s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_smartnic_port [0.051257s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_noportgroup [0.125813s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_standalone_ports [0.122590s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address [0.046695s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_port [0.024787s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_vif_extra [0.061586s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_attach [0.049852s] ... ok {1} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_inspection_network [0.046321s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_on_reset [0.074125s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_fail [0.050725s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_anew [0.040375s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_ramdisk [0.040860s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_last_update [0.063720s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_node_locked [0.030814s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_indicators [0.036710s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode [0.044819s] ... ok {1} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme [0.015065s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__fail_validation [0.051495s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fail_on_unknown_volume_types [0.256506s] ... ok {1} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_targets [0.064326s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_apply_configuration [0.048392s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_smartnic [0.052339s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot [0.057018s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net [0.090265s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_raw [0.040458s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args [0.013339s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_running [0.043649s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_get_power_state_fails [0.053946s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state [0.246607s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_interface [0.044064s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code [0.006841s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_disable [0.007061s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback [0.006285s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target_wipe_disk_metadata [0.006578s] ... ok {1} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_basics [0.014126s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console [0.021081s] ... ok {1} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console [0.009601s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_fast_track [0.046205s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_fallback [0.008750s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_partition_image [0.005999s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume [0.051810s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_bios [0.043429s] ... ok {1} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_found [0.009362s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch_already_raw [0.009594s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size_with_amount [0.007002s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_with_amount [0.006806s] ... ok {1} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_out_of_date [0.009182s] ... ok {1} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed [0.045483s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_no_ipmitool [0.007874s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_pass [0.007436s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_fail [0.049993s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_fail [0.046961s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot [0.051241s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_ok [0.053357s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_cold [0.135488s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_caller_exception [0.017071s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_on_max_retries [0.052749s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_exception [0.017704s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_out_of_space [0.019627s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd_without_user [0.043335s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd_without_user [0.042669s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_alloc_port [0.051731s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_iscsi [0.064464s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_port [0.042221s] ... ok {1} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.054469s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_clean_up [0.051843s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_validate [0.037778s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy [0.720038s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_unexpected_fail [0.113027s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_start_iscsi_failure [0.131022s] ... ok {1} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_localboot [0.018063s] ... ok {1} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_another_boot_interface [0.045931s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_reset [0.013658s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_on [0.015697s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_on [0.012931s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_reset [0.013185s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_off [0.012832s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_on [0.012651s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_invalid_state [0.014208s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_snmp_auto_cache_supports_pdu_replacement [0.013036s] ... ok {1} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on [0.052152s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_properties [0.015847s] ... ok {1} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_validate [0.047443s] ... ok {1} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_missing_description [0.006557s] ... ok {1} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_all_args [0.013872s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration [0.011026s] ... ok {1} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_get_logical_disk_properties [0.007420s] ... ok {1} ironic.tests.unit.drivers.test_base.TestDeployInterface.test_warning_on_heartbeat [0.006934s] ... ok {1} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_boot_modes_default_impl [0.008508s] ... ok {1} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_virtual_media_boot [0.053236s] ... ok {1} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties [0.016941s] ... ok {1} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_unicode [0.015723s] ... ok {1} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_save [0.011414s] ... ok {1} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_hardware_interfaces [0.013389s] ... ok {1} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy [0.053798s] ... ok {1} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce [0.006497s] ... ok {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function [0.005893s] ... ok {1} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_invalid_type [0.006771s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_missing [0.009919s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_remove [0.010251s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_missing [0.009664s] ... ok {1} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_missing [0.010201s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_uuid [0.010907s] ... ok {1} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve [0.012133s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_changed_1 [0.006384s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_dehydration [0.005615s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_get_updates [0.008948s] ... ok {1} ironic.tests.unit.objects.test_objects.TestObject.test_object_inheritance [0.005744s] ... ok {1} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_set [0.008720s] ... ok {1} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_address [0.010223s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'adopt'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8ede46bb-d840-4a25-a270-37ae9274452b X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-c4a75861-b903-41c1-9105-03ea566c34ec X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-e333b146-99d5-4d40-9448-e64cbbc0c983 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-474ab5b9-2c0c-4ae6-96d2-f6a4f8271c72 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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-1c8350bb-5b2f-489b-b025-5a33add677fa X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': 'not-supported'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7b3c6279-b25e-4060-9c1e-524741f83991 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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', 'configdrive': {'user_data': {'serialize': 'me'}, 'meta_data': {'hostname': 'example.com'}, 'network_data': {'links': []}, 'vendor_data': {'foo': 'bar'}}} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-b72e47b3-5a7f-4f13-8a64-54e851b0afd5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 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-d5a96650-1c4a-4ab4-859d-274863e53fce X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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-d5ca4f02-3714-43eb-b271-d1b419701366 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/CUSTOM_1 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-73a18e91-426a-4310-9dc0-9126cbf59f5d X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4caa4e69-3c98-4f5d-ab1f-5f1b00bafb96 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/ports/detail?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-a4eaa8b9-7bf5-4cf6-8e65-da27c2adf1ad X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-4826e893-2b99-45ef-83ff-15fc1f6b51b4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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/b02d9f3e-c0fa-41b8-b7fa-a66dbd109505 [{'path': '/extra/vif_port_id', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-1a6ece2f-1c7e-4595-8a9c-b188ed164854 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"uuid": "b02d9f3e-c0fa-41b8-b7fa-a66dbd109505", "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/b02d9f3e-c0fa-41b8-b7fa-a66dbd109505", "rel": "self"}, {"href": "http://localhost/ports/b02d9f3e-c0fa-41b8-b7fa-a66dbd109505", "rel": "bookmark"}], "created_at": "2021-01-19T06:02:18.969673+00:00", "updated_at": "2021-01-19T06:02:19.000263+00:00"}{17} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_extra_vif_port_id_not_internal [0.060167s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network [0.067844s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_invalid_addr_format [0.034941s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_min_api_version [0.057175s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_properties_field_lower_api_version [0.035029s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_uuid [0.055491s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_address [0.058299s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_id [0.036830s] ... ok {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create_list [0.010342s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_address_normalized [0.052034s] ... ok {1} ironic.tests.unit.objects.test_trait.TestTraitObject.test_exists [0.009577s] ... ok {1} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_payload_schemas [0.008164s] ... ok {1} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_create [0.009875s] ... ok 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-4c5e5aaf-49af-459f-82af-cd2ccebe8f5f X-Openstack-Ironic-Api-Maximum-Version: 1.68 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', 'configdrive': {'user_data': 'foo'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-398fedc9-5ac5-4de5-8ae5-bec17319fbea X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/console {'enabled': 'true'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a0eee016-fe1b-4db8-bc25-ea233ccdfbd1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/node-39/traits/CUSTOM_3 {} GOT:Response: 204 No Content Location: http://localhost/v1/nodes/node-39/traits/CUSTOM_3 Openstack-Request-Id: req-c92e8f93-090a-4120-bba4-1d0c99f5600d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 PUT: /v1/nodes/node-39/traits/CUSTOM_TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2665c534-b49a-4e9b-a694-71b0d45c50c6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,extra {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-25b78bd2-4d69-4d40-8be7-2d8085e3c883 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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 {} 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': '2021-01-19T06:02:18.356031+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': '2021-01-19T06:02:18.356031+00:00', 'updated_at': None} GET: /v1/ports?sort_key=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ea75c759-972e-49c5-ba49-37cf3f7ab845 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f5ed63d1-4a09-44e2-80bc-c8bcaa3cd9b5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '/physical_network', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b8c19ed9-4c43-4367-a0e3-2123fc657474 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '/physical_network', 'value': 'physnet2', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e9b5faa4-8df2-4269-a2a9-031b6f5947dd X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/8c72fd75-c9c7-47f3-a0e6-0069318e70de [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-cc2df215-7090-438e-a78c-778ad0151344 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Port 8c72fd75-c9c7-47f3-a0e6-0069318e70de could not be found.\", \"debuginfo\": null}"} 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-cad88d8d-79d3-41bf-811c-c892220a80aa X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': {'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-0fd63fb5-78e0-4f1e-8871-28564df46135 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:18.725539+00:00", "updated_at": null}{12} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_valid_extra [0.095958s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network [0.065719s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_custom_fields_invalid_fields [0.044183s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_get_all_invalid_api_version [0.034450s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource [0.156298s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_uuid [0.034315s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname [0.063152s] ... 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': 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': '2021-01-19T06:02:18.126566+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-b0396bbb-4a3e-41d0-b39b-15072bebdf6d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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", "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.203932+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': 'cowsay', 'lessee': None, 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'network_data': {}, 'updated_at': None, 'created_at': '2021-01-19T06:02:18.203932+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'}{15} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_extra [0.073864s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi_not_allowed [0.037381s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_missing_parameter_value [0.058611s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_invalid_soft_ver [0.044195s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_invalid_soft_ver [0.043102s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name_unsupported [0.040036s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_invalid_parameter_value [0.045182s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent_invalid_value [0.038428s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_no_reason [0.040276s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_max_trait_limit [0.048269s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_if_trait_not_found [0.049203s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait_fails_with_bad_version [0.031255s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits_fails_with_node_not_found [0.052323s] ... 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-6fbe46eb-46dc-4726-8f6f-e3a3f7a5aa03 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: '1234'. Value should be string\", \"debuginfo\": null}"} DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 204 No Content Openstack-Request-Id: req-d71f98ab-9b43-4fce-9f4c-19f0a73a127b X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 DELETE: /v1/portgroups/pg.1.json GOT:Response: 204 No Content Openstack-Request-Id: req-68c1c2a7-044d-4284-b1d2-3e332072a818 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 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?fields=address,mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b237c938-3cfa-4c8b-ab78-97ae81d3a2fa X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/non-existent', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-da862e4f-0296-4850-a121-d24e635e8b4d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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}"} 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': 'd8188c38-ef84-4170-b6f6-6a057fa00c5a', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value', 'agent_secret_token': '******'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'links': [{'href': 'http://localhost/v1/nodes/d8188c38-ef84-4170-b6f6-6a057fa00c5a', 'rel': 'self'}, {'href': 'http://localhost/nodes/d8188c38-ef84-4170-b6f6-6a057fa00c5a', '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, 'agent_token': '123456', 'agent_token_required': True}} 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-0780a8b8-eaec-43fb-9f58-1e4a1ce2d29b X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:19.076453+00:00", "updated_at": null} GET: /v1/volume/targets?fields=uuid,extra {} GOT:{'targets': [{'uuid': 'c3f46a3f-db1c-4f59-8fba-bce72f5c7b5e', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/c3f46a3f-db1c-4f59-8fba-bce72f5c7b5e', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/c3f46a3f-db1c-4f59-8fba-bce72f5c7b5e', 'rel': 'bookmark'}]}, {'uuid': '90ec61a9-5291-40d2-875d-5d4686e2a456', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/90ec61a9-5291-40d2-875d-5d4686e2a456', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/90ec61a9-5291-40d2-875d-5d4686e2a456', 'rel': 'bookmark'}]}, {'uuid': 'd6f22b06-bf87-4ecf-918b-7af6e0033543', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/d6f22b06-bf87-4ecf-918b-7af6e0033543', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/d6f22b06-bf87-4ecf-918b-7af6e0033543', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=d6f22b06-bf87-4ecf-918b-7af6e0033543'} 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\": \"\"}"} GET: /v1/volume/targets/b6620ba2-6b65-4f47-9d56-9fa5086dc929 {} GOT:{'uuid': 'b6620ba2-6b65-4f47-9d56-9fa5086dc929', '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/b6620ba2-6b65-4f47-9d56-9fa5086dc929', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/b6620ba2-6b65-4f47-9d56-9fa5086dc929', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:19.233868+00:00', 'updated_at': None} GET: /v1/volume/targets/b6620ba2-6b65-4f47-9d56-9fa5086dc929 {} GOT:{'uuid': 'b6620ba2-6b65-4f47-9d56-9fa5086dc929', '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/b6620ba2-6b65-4f47-9d56-9fa5086dc929', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/b6620ba2-6b65-4f47-9d56-9fa5086dc929', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:19.233868+00:00', 'updated_at': None} GET: /volume/targets/b6620ba2-6b65-4f47-9d56-9fa5086dc929 {} GOT:{'uuid': 'b6620ba2-6b65-4f47-9d56-9fa5086dc929', '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/b6620ba2-6b65-4f47-9d56-9fa5086dc929', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/b6620ba2-6b65-4f47-9d56-9fa5086dc929', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:19.233868+00:00', 'updated_at': None} 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-30a74ac5-ebff-42fc-a2cf-d2989086540d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-439a02a1-f2d0-4509-a84c-fe7751bff464 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b could not be found.\", \"debuginfo\": null}"}{2} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_non_existent_node_uuid [2.134103s] ... ok {2} ironic.tests.unit.api.test_acl.TestACL.test_non_authenticated [0.020025s] ... ok {2} ironic.tests.unit.api.test_args.TestArgs.test_args_from_args [0.004939s] ... ok {2} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_admin [0.022020s] ... ok {2} ironic.tests.unit.api.test_types.TestTypes.test_attribute_order [0.005753s] ... ok {2} ironic.tests.unit.api.test_types.TestTypes.test_default_usertype [0.004929s] ... ok {2} ironic.tests.unit.api.test_types.TestTypes.test_list_of_complextypes [0.006906s] ... ok {2} ironic.tests.unit.api.test_types.TestTypes.test_register_invalid_array [0.005166s] ... ok {2} ironic.tests.unit.api.test_types.TestTypes.test_unregister_dict_type_twice [0.005367s] ... ok {2} ironic.tests.unit.api.test_types.TestTypes.test_validate_list_empty [0.005332s] ... ok {2} ironic.tests.unit.api.test_types.TestTypes.test_wsattr_list_datatype [0.005009s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_done [0.013036s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option1 [0.012698s] ... ok {2} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_notdone [0.009187s] ... ok {2} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername_node [0.008519s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_missing [0.008515s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_rescue_interface_default_from_conf [0.013317s] ... ok {2} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_none_storage_interface [0.012559s] ... ok {2} ironic.tests.unit.common.test_driver_factory.NewFactoryTestCase.test_new_driver_factory_unknown_entrypoint [0.007448s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url [0.007092s] ... ok {2} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_uuid [1.205113s] ... ok {2} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_automatic_retry [0.034409s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fails_no_grub_cfg [0.009350s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_inject_files [0.011789s] ... ok {2} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_always_umount [0.015259s] ... ok {2} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw [0.010953s] ... ok {2} ironic.tests.unit.common.test_json_rpc.TestService.test_non_json_body [0.016344s] ... ok {2} ironic.tests.unit.common.test_json_rpc.TestSession.test_http_basic_deprecated [0.009828s] ... ok {2} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_one_port [0.045616s] ... ok {2} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_duplicate [0.006841s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_create_some_ports_fail [0.055310s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_smartnic_port_to_network [0.055827s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_node_portmap [0.043295s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports [0.044804s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_list_fail [0.039075s] ... ok {2} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports [0.039341s] ... ok {2} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova [0.013139s] ... ok {2} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_policy_not_registered [0.005156s] ... ok {2} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_no_root_volumes [0.029600s] ... ok {2} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier [0.007342s] ... ok {2} ironic.tests.unit.common.test_swift.SwiftTestCase.test_update_object_meta [0.039978s] ... ok {2} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_without_root_helper [0.007535s] ... ok {2} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_fail [0.006158s] ... ok {2} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default [0.025042s] ... ok {2} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node [0.064994s] ... ok {2} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_changed_after_lock [0.105176s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_success [0.008815s] ... ok {2} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_failed [0.163493s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort_tear_down_fail [0.050672s] ... ok {2} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_continue_from_last_cleaning [0.068503s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_continue_from_last_step [0.154507s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot [0.348706s] ... ok {2} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_as_dict [0.185785s] ... ok {2} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_manual_clean [0.164307s] ... ok {2} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_mac_exists [0.050034s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_associated [0.135446s] ... ok {2} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_power_off [0.134788s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_token [0.155840s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_succeeded [0.141970s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_errors [0.150399s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_other_error [0.149635s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_rescue_validate_fail [0.072501s] ... ok {2} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide [0.142198s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_error [0.020773s] ... ok {2} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded [0.029626s] ... ok {2} ironic.tests.unit.conductor.test_manager.MiscTestCase.test__mapped_to_this_conductor [0.111559s] ... ok {2} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_1_nodes_8_workers [0.011181s] ... ok {2} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_error [0.215233s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node [0.045662s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_in_maintenance [0.071934s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_with_reset_interfaces [0.392368s] ... ok {2} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_not_allowed [0.119892s] ... ok {2} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_list [0.033329s] ... ok {2} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_raid_logical_disk_properties [0.010853s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_missing_required_arg [0.039528s] ... ok {2} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps [0.056049s] ... ok {2} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_only_once [0.006917s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_cleanfail [0.007262s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_bad_state [0.008760s] ... ok {2} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_no_worker [0.014121s] ... ok {2} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_provisioning [0.013632s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state_notify [0.092503s] ... ok {2} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_no_timeout [0.059903s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits [0.005679s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_1 [0.045418s] ... ok {2} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_1 [0.048200s] ... ok {2} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list [0.036868s] ... ok {2} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_with_online_true [0.014016s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create [0.010163s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_name [0.012051s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list [0.017455s] ... ok {2} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_not_found [0.012700s] ... ok {2} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate [0.027938s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node [0.012377s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_instance_already_associated [0.013635s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_wrong_uuid [0.017117s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_description [0.018928s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_instance_already_associated [0.033413s] ... ok {2} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node [0.023889s] ... ok {2} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_uuid [0.019328s] ... ok {2} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project_no_match [0.018096s] ... ok {2} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_only_one_dhcp [0.006519s] ... ok {2} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_cleaning [0.047984s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning [0.058152s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_root_device_hints [0.051174s] ... ok {2} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_default_verbosity_debug [0.014657s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config_fail [0.049088s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_UEFI_boot_mode [0.047219s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_sensors_data [0.052610s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_50 [0.026325s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config_fail [0.017990s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config [0.016224s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_fail [0.016341s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_10 [0.095258s] ... ok {2} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_clean [0.082225s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_device [0.050299s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_supported_power_states [0.036840s] ... ok {2} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info [0.016372s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_cleaning [0.071081s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_factory_reset [0.062058s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_default_mode [0.055820s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection_missing [0.038418s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_web_server [0.022633s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_instance_info_exists [0.047171s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown [0.063164s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.014809s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_throws_exception_with_invalid_firmware_url [0.006243s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_empty_parameter [0.006900s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok [0.059281s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_ilo_error [0.058060s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_deploy [0.050775s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_2___uefi_only_____uefi___ [0.042667s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_ok [0.072190s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_clean [0.075401s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_fail_to_on [4.053571s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_timeout [0.052181s] ... ok {2} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_empty_target_raid_config_cleaning [0.062572s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration_failed [0.046137s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings [0.048583s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_http_ok [0.015982s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_uuid_ok [0.016055s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_cleaning [0.090601s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_image_source [0.039688s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good_whole_disk_image [0.040172s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_skip_check_write_image_false [0.043738s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_whole_disk_image [0.049382s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_chap [0.088356s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance_error [0.055856s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi [0.087710s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_true [0.006370s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware [0.040324s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_corrupted [0.068549s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_fail [0.051464s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_inject_nmi_ok [0.050849s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_cdrom [0.209698s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__is_expected_power_state [0.015446s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_scci_exception [0.041829s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_snmp_exception [0.041079s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on [0.049102s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_is_none [0.233531s] ... ok {2} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_with_physical_disk [0.015510s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup [0.056004s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address [0.051287s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_nostandalone_ports [0.132474s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_nostandalone_ports [0.129398s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_nostandalone_ports [0.128008s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_multiple_ports_one_vif_id [0.056968s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_2 [0.047239s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_list [0.043286s] ... ok {2} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_portgroup_changed [0.048285s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_no_supported_apply_times [0.076689s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_not_supported [0.045331s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_deploying [0.084833s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_boot_option [0.072371s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso_boot [0.097716s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_bios_boot_iso [0.045093s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_cpu [0.056204s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_no_firmware_upd [0.027570s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_device [0.038629s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_indicator_state [0.050369s] ... ok {2} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_info [0.014190s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue [0.068479s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning_manage_agent_boot_false [0.050481s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_localboot [0.073771s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_algo [0.059319s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_disabled [0.046078s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook_no_hook_registered [0.029563s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_pregenerated_token [0.058217s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_polling [0.069366s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_reboot_to_instance [0.071110s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_running [0.047116s] ... ok {2} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue [0.007004s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists [0.010957s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_default [0.037716s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv4 [0.043181s] ... ok {2} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_invalid_console_port_range [0.009992s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template [0.015495s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_emtpy_property [0.009581s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_with_master_path [0.010200s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_overridden_default_value [0.014492s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid [0.014507s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_false [0.006289s] ... ok {2} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image [0.070505s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_no_master_dir [0.009149s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid [0.008505s] ... ok {2} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_bios [0.040741s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_check_inspecting [0.017722s] ... ok {2} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_network_clean_up_failed [0.053422s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls_already_checked [0.008963s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_pass [0.008159s] ... 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': {}, 'resource_class': 'foo', 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-da4491fd-52fd-49f8-b311-1ce6e275bb2f X-Openstack-Ironic-Api-Maximum-Version: 1.68 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'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-fbf5799f-c91f-40e3-90f8-24605d9f901f X-Openstack-Ironic-Api-Maximum-Version: 1.68 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'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-689656d2-bfd5-4fa8-875b-1bb012bc4ac8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9e862631-919c-40fa-8ea6-b94d2b7ee466 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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': '2021-01-19T06:02:18.679531+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': '2021-01-19T06:02:18.679531+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: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-348bfab8-3b47-4e96-9246-c911a5899a0c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': '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-b65526ee-d8d4-4ff1-91a3-36ea0624ee39 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '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-1e662ef2-4994-4614-9f0e-54d2480396f4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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', '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-f287f88f-149c-4081-b289-d19d5c1c28b3 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:18.975832+00:00", "updated_at": null}{10} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_nostandalone_ports [0.063172s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_portgroup_standalone_ports [0.068963s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname_not_existed [0.037762s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_name_ok [0.063368s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byaddress_not_allowed [0.027141s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_only_uuid [0.044444s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_no_restrict_lookup [0.047731s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_types.TestEventType.test_invalid_mac_network_port_event [0.006292s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_add_with_no_value [0.022292s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_smart_nic_keys_hostname_missing [0.006100s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_multiple_success [0.005998s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_limit [0.005642s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_validate_trait [0.006536s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_is_smartnic [0.005791s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_traits [0.005839s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields_fail [0.005502s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden [0.006747s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy_forbidden [0.006716s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_forbidden [0.006512s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_pre_name [0.005498s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_get_controller_reserved_names [0.004715s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_duplicates [0.005449s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_versions.TestVersionConstants.test_min_ver_str [0.004851s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_many [0.064663s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__release_allocated_port [0.070474s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries_multiple [0.020468s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_undefined_credentials [0.018386s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_insufficient_resources_for_session [0.019196s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__exec_stop_console [0.044721s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail [0.048546s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.039871s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.038694s] ... ok 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 {} 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': '2021-01-19T06:02:18.792672+00:00'} GET: /v1/nodes/validate?node_uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:{} PATCH: /v1/nodes/7b0d3a49-dad1-4235-b741-401457bac534 [{'path': '/deploy_step', 'op': 'replace', 'value': 'deploy this'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-95b4cea6-d68d-4346-b798-0fa85ecf3e4b X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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-7d155a68-6654-490d-b1e0-2297f955e08c X-Openstack-Ironic-Api-Maximum-Version: 1.68 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 [{'path': '/driver', 'op': 'remove'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-61265818-8b07-4b2c-ae23-e22a20024e90 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/75a6e2a1-72a8-4133-b722-8278827b662c [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-514b2c52-ece8-496a-8919-a58b5585a90a X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/c2845f90-86f6-4d68-acba-a22da3409079 [{'path': '/protected_reason', 'value': 'reason!', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0e8cbdc1-50d9-44af-9b16-2520cd762b78 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "c2845f90-86f6-4d68-acba-a22da3409079", "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/c2845f90-86f6-4d68-acba-a22da3409079", "rel": "self"}, {"href": "http://localhost/nodes/c2845f90-86f6-4d68-acba-a22da3409079", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/c2845f90-86f6-4d68-acba-a22da3409079/ports", "rel": "self"}, {"href": "http://localhost/nodes/c2845f90-86f6-4d68-acba-a22da3409079/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c2845f90-86f6-4d68-acba-a22da3409079/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c2845f90-86f6-4d68-acba-a22da3409079/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c2845f90-86f6-4d68-acba-a22da3409079/volume", "rel": "self"}, {"href": "http://localhost/nodes/c2845f90-86f6-4d68-acba-a22da3409079/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c2845f90-86f6-4d68-acba-a22da3409079/states", "rel": "self"}, {"href": "http://localhost/nodes/c2845f90-86f6-4d68-acba-a22da3409079/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": "2021-01-19T06:02:19.056864+00:00"} PATCH: /v1/nodes/210719c2-702d-4dde-80d8-3328f53009bd [{'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-ec184bad-5a5e-4685-a038-28de633f8a86 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.48 {"uuid": "210719c2-702d-4dde-80d8-3328f53009bd", "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/210719c2-702d-4dde-80d8-3328f53009bd", "rel": "self"}, {"href": "http://localhost/nodes/210719c2-702d-4dde-80d8-3328f53009bd", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/210719c2-702d-4dde-80d8-3328f53009bd/ports", "rel": "self"}, {"href": "http://localhost/nodes/210719c2-702d-4dde-80d8-3328f53009bd/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/210719c2-702d-4dde-80d8-3328f53009bd/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/210719c2-702d-4dde-80d8-3328f53009bd/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/210719c2-702d-4dde-80d8-3328f53009bd/volume", "rel": "self"}, {"href": "http://localhost/nodes/210719c2-702d-4dde-80d8-3328f53009bd/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/210719c2-702d-4dde-80d8-3328f53009bd/states", "rel": "self"}, {"href": "http://localhost/nodes/210719c2-702d-4dde-80d8-3328f53009bd/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": "2021-01-19T06:02:19.113914+00:00"}{3} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_protected_with_reason [1.921004s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node [0.067852s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_owner_old_api_version [0.027911s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_default_resource_class [0.064224s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_connectors_subresource [0.046431s] ... ok {2} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.050353s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_cpu_arch_none [0.014700s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_disk_label [0.014912s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_netboot_specified [0.014219s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_localboot_bios [0.015521s] ... ok {2} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_netboot_bios [0.012039s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a0aa59b9-0e6c-46b3-82bf-863f3296c1b4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/indicators/led@system?state=glow {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-54fa1b2b-ce2c-4112-8f49-540c5beb93af X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"error\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system {'state': 'on'} GOT:Response: 204 No Content Openstack-Request-Id: req-8a5ad29d-a978-4740-bdfe-571b9125d45e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.63 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/detail {} GOT:{'ports': [{'uuid': '9b901f37-3928-451a-90f6-be6560003eb6', 'address': '66:44:55:33:11:22', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/ports/9b901f37-3928-451a-90f6-be6560003eb6', 'rel': 'self'}, {'href': 'http://localhost/ports/9b901f37-3928-451a-90f6-be6560003eb6', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:18.519299+00:00', 'updated_at': None}]} GET: /v1/ports?sort_key=pxe_enabled {} GOT:{'ports': [{'uuid': '636c7542-1f16-43c0-a2f4-58bbfaddb702', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/636c7542-1f16-43c0-a2f4-58bbfaddb702', 'rel': 'self'}, {'href': 'http://localhost/ports/636c7542-1f16-43c0-a2f4-58bbfaddb702', 'rel': 'bookmark'}]}, {'uuid': '0396e8c0-5688-4748-ae7d-433690670245', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/0396e8c0-5688-4748-ae7d-433690670245', 'rel': 'self'}, {'href': 'http://localhost/ports/0396e8c0-5688-4748-ae7d-433690670245', 'rel': 'bookmark'}]}]} PATCH: /v1/ports/b784abc5-ce30-452e-bbf5-b13713e688d9 [{'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-ae142d46-e269-44de-86b8-a4a98b169c23 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"uuid": "b784abc5-ce30-452e-bbf5-b13713e688d9", "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/b784abc5-ce30-452e-bbf5-b13713e688d9", "rel": "self"}, {"href": "http://localhost/ports/b784abc5-ce30-452e-bbf5-b13713e688d9", "rel": "bookmark"}], "created_at": "2021-01-19T06:02:18.612584+00:00", "updated_at": "2021-01-19T06:02:18.644316+00:00"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/network_type', 'value': 'unmanaged', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-60951438-d326-42bd-ab9d-b0975cbf4489 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"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", "network_type": "unmanaged"}, "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": "2021-01-19T06:02:18.670289+00:00", "updated_at": "2021-01-19T06:02:18.702412+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-5173bd96-4dd9-4a4b-a5a9-a0c694a4f42f X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.728208+00:00", "updated_at": "2021-01-19T06:02:18.762806+00:00"} 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-027a210e-5589-4654-bcdc-058ca3481c9e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:18.831718+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': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6df538b5-61b1-4727-8f50-304bb803156b X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': {}, '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-cf672386-06b4-4086-a210-84292e0e6eca X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"}{18} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_hyphens_delimiter [0.034616s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_port_id [0.046015s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_node_locked [0.049489s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_custom_fields [0.061273s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_collection_custom_fields [0.061410s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_node_uuid [0.054322s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_not_allowed [0.056620s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_add_extra_vif_port_id [0.060269s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_addr_format [0.030231s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_invalid_node_uuid_format [0.030204s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_maintenance [0.059826s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.083201s] ... ok {2} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue [0.042669s] ... ok PATCH: /v1/nodes/node-57.1 [{'path': '/instance_uuid', 'value': 'aaaaaaaa-1111-bbbb-2222-cccccccccccc', 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3df7a015-a9e5-4969-bfe8-147653b81ad0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/d5136672-68b1-4f79-ba87-9e330dac004c [{'path': '/conductor_group', 'value': 'foogroup', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d48a9f2f-6806-472f-ad90-40d1ecccc99a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.46 {"uuid": "d5136672-68b1-4f79-ba87-9e330dac004c", "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/d5136672-68b1-4f79-ba87-9e330dac004c", "rel": "self"}, {"href": "http://localhost/nodes/d5136672-68b1-4f79-ba87-9e330dac004c", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/d5136672-68b1-4f79-ba87-9e330dac004c/ports", "rel": "self"}, {"href": "http://localhost/nodes/d5136672-68b1-4f79-ba87-9e330dac004c/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/d5136672-68b1-4f79-ba87-9e330dac004c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/d5136672-68b1-4f79-ba87-9e330dac004c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/d5136672-68b1-4f79-ba87-9e330dac004c/volume", "rel": "self"}, {"href": "http://localhost/nodes/d5136672-68b1-4f79-ba87-9e330dac004c/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/d5136672-68b1-4f79-ba87-9e330dac004c/states", "rel": "self"}, {"href": "http://localhost/nodes/d5136672-68b1-4f79-ba87-9e330dac004c/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": "2021-01-19T06:02:18.267526+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: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-0b8f995a-5b0f-4685-9374-01ee236ab073 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': {}, '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-911b99d1-d714-4a12-9b50-d7ec49e9e7e8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.371354+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': '2021-01-19T06:02:18.371354+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': '2021-01-19T06:02:18.371354+00:00'}{4} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_default_state_none [2.037966s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group_bad_version [0.030816s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport [0.051548s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_reset [0.012417s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_on [0.010386s] ... ok POST: /v1/nodes {'uuid': '37d4e4b3-ccfc-40b0-825f-c219929e23ec', '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/37d4e4b3-ccfc-40b0-825f-c219929e23ec Openstack-Request-Id: req-3092b151-473f-4d37-af69-584991e5716c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"uuid": "37d4e4b3-ccfc-40b0-825f-c219929e23ec", "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/37d4e4b3-ccfc-40b0-825f-c219929e23ec", "rel": "self"}, {"href": "http://localhost/nodes/37d4e4b3-ccfc-40b0-825f-c219929e23ec", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/37d4e4b3-ccfc-40b0-825f-c219929e23ec/ports", "rel": "self"}, {"href": "http://localhost/nodes/37d4e4b3-ccfc-40b0-825f-c219929e23ec/ports", "rel": "bookmark"}], "updated_at": null, "created_at": "2000-01-01T00:00:00+00:00"} GET: /v1/nodes/37d4e4b3-ccfc-40b0-825f-c219929e23ec {} GOT:{'uuid': '37d4e4b3-ccfc-40b0-825f-c219929e23ec', '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/37d4e4b3-ccfc-40b0-825f-c219929e23ec', 'rel': 'self'}, {'href': 'http://localhost/nodes/37d4e4b3-ccfc-40b0-825f-c219929e23ec', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/37d4e4b3-ccfc-40b0-825f-c219929e23ec/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/37d4e4b3-ccfc-40b0-825f-c219929e23ec/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': {}, '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-a12a5afc-89c8-4aee-ac9a-2a035c8dd6db X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.543323+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': '2021-01-19T06:02:18.543323+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': {}, 'protected': True, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-83c6d72c-2873-4eb9-aeb7-d8adcc47a5ca X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/test {'foo': 'bar'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-622f7374-23e1-46e0-b60d-8778ef0ab0af X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"}{13} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_no_such_method [0.041197s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inject_nmi [0.045922s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device [0.049978s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_no_add_single_trait_via_body [0.046945s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byaddress [0.035096s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_portgroups_subresource_delete [0.043883s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_custom_fields_is_smartnic [0.072698s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key [0.061077s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_extra_vif_port_id [0.065779s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_noportgroup [0.055137s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_portgroup_not_found [0.041685s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid [0.053566s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_off [0.020909s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_off [0.011031s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_outlet [0.009392s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v1 [0.009148s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_user [0.008297s] ... ok {2} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_key_proto [0.008871s] ... ok {2} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_abortable [0.006047s] ... ok {2} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_boot_mode_default_impl [0.008029s] ... ok {2} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_indicator_state_default_impl [0.006139s] ... ok /usr/lib/python3.6/site-packages/oslo_serialization/jsonutils.py:180: 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:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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) 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. {2} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_management_and_power [0.051087s] ... ok {2} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_indicator_state_good [0.044329s] ... ok {2} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_get_properties_none [0.010105s] ... ok {2} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_noop_mgmt [0.042521s] ... ok {2} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_set [0.009064s] ... ok {2} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_load [0.009292s] ... ok {2} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_uuid [0.009922s] ... ok {2} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_node_uuid [0.019136s] ... ok {2} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_function_invalid_type [0.005675s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-747b3375-ea2d-4959-82c3-f3d9dca33500 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '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-a6171367-eab5-49d8-b5f0-66c3f10730a0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/portgroups {} GOT:{'portgroups': []} GET: /v1/portgroups?sort_key=mode {} GOT:{'portgroups': [{'uuid': 'ae69464f-bdf1-446e-abe1-5f3535f0f0c0', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/ae69464f-bdf1-446e-abe1-5f3535f0f0c0', 'rel': 'self'}, {'href': 'http://localhost/portgroups/ae69464f-bdf1-446e-abe1-5f3535f0f0c0', 'rel': 'bookmark'}]}, {'uuid': '967e11d8-5c56-4260-973f-30480352abaf', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/967e11d8-5c56-4260-973f-30480352abaf', 'rel': 'self'}, {'href': 'http://localhost/portgroups/967e11d8-5c56-4260-973f-30480352abaf', 'rel': 'bookmark'}]}, {'uuid': '4d8488b2-90e4-4615-8c49-350b2f4f743c', 'address': '52:54:00:cf:2d:33', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/4d8488b2-90e4-4615-8c49-350b2f4f743c', 'rel': 'self'}, {'href': 'http://localhost/portgroups/4d8488b2-90e4-4615-8c49-350b2f4f743c', 'rel': 'bookmark'}]}]} 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-1f1d2188-b46e-4429-b507-7eddb17a8e5f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:19.071121+00:00", "updated_at": null} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_version': '1.4.1', 'agent_token': 'meow'} GOT:Response: 202 Accepted Openstack-Request-Id: req-97d4dad8-f570-4b66-bffe-84cedc85eb01 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcd'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-eb55eb94-9efb-434f-a12e-e404c1e3886c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.67 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field \\\"agent_verify_ca\\\" not recognised in this version\", \"debuginfo\": null}"} POST: /v1/heartbeat/928af9d2-2f8b-45cc-88de-f5e37ee5043c {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8e725eb7-fed8-4e92-9399-485fe89addb9 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.68'}} 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': []} GET: /v1/volume/ {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-392fd41f-5f21-47d2-b4f5-6243d16a6206 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-2139d741-c770-4b1d-bb77-64bd17cb9102 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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 {} 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'}]}]}{0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one [3.264730s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_multi [0.083248s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_pagination_no_uuid [0.052648s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_node_id [0.034360s] ... ok {0} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid_invalid_api_version [0.019416s] ... ok {0} ironic.tests.unit.api.test_args.TestArgs.test_get_args [0.005620s] ... ok {0} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_public_api [0.019572s] ... ok {0} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug [0.016317s] ... ok {0} ironic.tests.unit.api.test_types.TestTypes.test_array_eq [0.004746s] ... ok {0} ironic.tests.unit.api.test_types.TestTypes.test_reregister_and_add_attr [0.005792s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set [0.009169s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_set [0.008663s] ... ok {0} ironic.tests.unit.api.test_types.TestTypes.test_unregister_array_type_twice [0.005332s] ... ok {0} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_produces_a_warning [0.014537s] ... ok {0} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2 [0.012146s] ... ok {0} ironic.tests.unit.common.test_context.RequestContextTestCase.test_create_context [0.005900s] ... ok {0} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_empty_entry [0.010326s] ... ok {0} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_fail [0.004767s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true_connerror [0.007965s] ... ok {2} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.009509s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_ansi_c [0.012365s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_http_scheme [0.006714s] ... ok {0} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true [0.005941s] ... ok {0} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_image_service [0.007728s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_success [0.010673s] ... 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.common.test_json_rpc.TestClient.test_can_send_version [0.006123s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestClient.test_cast_success_with_version [0.007787s] ... ok {0} ironic.tests.unit.common.test_json_rpc.TestService.test_authenticated [0.023368s] ... ok {0} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth_fail [0.006934s] ... ok {0} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port [0.048838s] ... ok {0} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_multiple_ports [0.045547s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_traits [0.009207s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_network_type_unmanaged [0.035572s] ... ok {0} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups [0.016980s] ... ok {0} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_1 [0.020632s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ramdisk_params [0.047380s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config [0.046624s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_existing_dirs [0.048513s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_mac_address [0.052565s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_bios [0.041309s] ... ok {0} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_volume_type [0.044422s] ... ok {0} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_no_target_raid_config_after_skipping [0.013093s] ... ok {0} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_with_custom_topics [0.034336s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_traits [0.011760s] ... ok {0} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir [0.005711s] ... ok {0} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_node_in_maintenance [0.067556s] ... ok {0} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_state_not_active [0.053715s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_db_conn [0.110976s] ... ok {2} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_traits_is_none [0.009053s] ... ok {0} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive_failed_error [0.108593s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done_with_console_error [0.194307s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_bad_step_return_value [0.187223s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_as_dict_with_meta_data [0.183739s] ... ok {0} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_configdrive [0.380241s] ... ok {0} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device [0.045228s] ... ok {0} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_unsupported_state [0.144560s] ... ok {0} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_disabled [0.169660s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_manage_of_failed_adoption [0.147405s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_agent_token_older_version [0.159925s] ... ok {0} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_invalid_newer_version [0.160450s] ... ok {0} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_no_deploywait_after_lock [0.016288s] ... ok {2} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_nullable_field_auto_populates [0.006045s] ... ok {0} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_node_not_found [0.047062s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_off [0.048870s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_same [0.005518s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_invalid [0.082322s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_invalid_driver [0.020559s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_maintenance [0.047617s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_to_node_in_inspect_wait_state [0.046889s] ... ok {0} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_inspect_wait_state [0.143875s] ... ok {0} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_worker_pool_full [0.138050s] ... ok {0} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_node_locked [0.026695s] ... ok {0} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification [0.014894s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_get [0.005681s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned [0.006579s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_create_port_True [0.009630s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_change_node_power_state [0.011587s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned [0.006168s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_driver_vendor_passthru [0.011331s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_vendor_passthru_methods [0.011453s] ... ok {0} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_known_driver [0.015962s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_get_steps_exception [0.045690s] ... ok {0} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_duplicates [0.044709s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_then_lock [0.021546s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_volconn_exception [0.020924s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_portgroups_exception [0.019768s] ... ok {0} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_ports_exception [0.023166s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_hydration [0.005842s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObject.test_object_property_type_error [0.005441s] ... ok {0} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_none [0.015392s] ... ok {0} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps [0.043931s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_same_state [0.064010s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure_notify [0.101359s] ... ok {2} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_api [0.009656s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_valid [0.038391s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot_timeout [0.064681s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off [0.059937s] ... ok {0} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_timeout [0.064307s] ... ok {0} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_existing [0.013120s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_type [0.005650s] ... ok {0} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_2 [0.046403s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncMysql.test_models_sync ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {2} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_unsupported [0.009791s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_version ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {0} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_default [0.038816s] ... ok {0} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_default_value [0.015277s] ... ok {2} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_by_id [0.010771s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_node [0.031815s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_associated_with_another_node [0.031372s] ... ok {0} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_with_node_id [0.025729s] ... ok {2} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list [0.010369s] ... ok {0} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_migration_impossible3 [0.020272s] ... ok {0} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_same_nodes [0.120461s] ... ok {0} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor [0.171208s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_with_old_conductor [0.026794s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_offline_conductors [0.016551s] ... ok {0} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_override [0.013517s] ... ok {0} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_invalid_step_no_interface [0.014092s] ... ok {0} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_not_exists [0.017580s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_non_existing [0.018677s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_name_duplicate [0.014818s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance_invalid_uuid [0.008892s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_reservation [0.024888s] ... ok {0} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node_by_uuid [0.035431s] ... ok {0} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_address [0.019968s] ... ok {0} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id [0.020951s] ... ok {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_bad_dhcp [0.006042s] ... ok {0} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_set_neutron_dhcp [0.005543s] ... ok {2} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_destroy [0.011100s] ... ok {0} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_extra [0.045856s] ... ok {0} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints [0.048975s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_username [0.012654s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_boot_setting_failure [0.042189s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_non_persistent_boot_mode [0.019753s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed_in_deploy [0.055381s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_7_disk_and_raid_level_10 [0.022560s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_root_only [0.021190s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_with_config_job [0.023242s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_set_raid_settings [0.017873s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks_fail [0.013772s] ... ok {0} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_backing_physical_disks [0.085222s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_cleaning [0.066177s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_glance_partition_image [0.044896s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on [0.053300s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_sec_boot_on_inst_info [0.046850s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_instance_image_info_neither_iwdi_nor_glance [0.052240s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.063776s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_in_takeover [0.197597s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate [0.056643s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_not_supported [0.046447s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_false [0.013656s] ... ok {0} 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.680125s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_webserver [0.026290s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_deploy [0.060543s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi [0.060417s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_failed [0.069845s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state_fail [0.021548s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_no_timeout [0.049145s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_cleaning [0.069565s] ... ok {0} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_deploying [0.066727s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_cache_bios_settings_failed [0.051168s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_ok [0.056014s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_ok [0.017442s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_without_secure_boot [0.061737s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_mac_already_exist [0.121882s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false_and_existing_cap [0.042992s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate [0.039886s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_validate_fail [0.038302s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_node [0.020848s] ... ok {0} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_off_ok [0.041774s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_all_physnets [0.072065s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_physnets [0.076812s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_no_vif [0.055160s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_pxe_ports [0.052878s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach [0.050569s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_portgroup [0.025572s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network [0.057055s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_rescuing_network [0.053746s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network [0.054706s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network [0.053142s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_cleaning_network [0.048762s] ... ok {0} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_cleaning_network [0.055641s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning [0.318899s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_fail [0.055403s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_local_whole_disk_image [0.076001s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot_iso [0.098578s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_fan [0.038059s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status [0.028794s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_sensors_data [0.045127s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device [0.101422s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_mode_fail [0.074405s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_properties [0.037933s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_supported_power_states [0.037155s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_fail [0.078540s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_auth_session [0.043787s] ... 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-90a2fab8-ce61-4304-b5c9-4d8f36e2b619 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/0c1bd7cb-94fa-4d75-bd74-f4eb23269f77 [{'path': '/description', 'value': 'foo', 'op': 'replace'}, {'path': '/instance_info/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-73a2ef85-a749-470e-913a-bacb49ba316d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "0c1bd7cb-94fa-4d75-bd74-f4eb23269f77", "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/0c1bd7cb-94fa-4d75-bd74-f4eb23269f77", "rel": "self"}, {"href": "http://localhost/nodes/0c1bd7cb-94fa-4d75-bd74-f4eb23269f77", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/0c1bd7cb-94fa-4d75-bd74-f4eb23269f77/ports", "rel": "self"}, {"href": "http://localhost/nodes/0c1bd7cb-94fa-4d75-bd74-f4eb23269f77/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/0c1bd7cb-94fa-4d75-bd74-f4eb23269f77/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/0c1bd7cb-94fa-4d75-bd74-f4eb23269f77/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/0c1bd7cb-94fa-4d75-bd74-f4eb23269f77/volume", "rel": "self"}, {"href": "http://localhost/nodes/0c1bd7cb-94fa-4d75-bd74-f4eb23269f77/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/0c1bd7cb-94fa-4d75-bd74-f4eb23269f77/states", "rel": "self"}, {"href": "http://localhost/nodes/0c1bd7cb-94fa-4d75-bd74-f4eb23269f77/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, "lessee": null, "description": "foo", "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:19.085808+00:00"} 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-7398de8d-fec9-47aa-a0d4-07c3749e1875 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/8d0e9714-e2c6-42cd-ae67-66192db0485d [{'path': '/protected', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-47885723-3c84-4c3a-82ae-6e301aa7ef68 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-78a62993-dd24-4f74-bf73-89642ee461d3 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': {'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-c957a2d7-e39f-47dd-a3a4-2e38232f0c59 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:19.290575+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': {'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': '2021-01-19T06:02:19.290575+00:00'}{5} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_doesnt_contain_id [0.109698s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_sync [0.043406s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_invalid_state_request [0.035948s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_valid_soft_ver [0.038484s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_by_name [0.036252s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_bad_request [0.032281s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_rejects_bad_trait [0.038261s] ... ok {0} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.017298s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_fails_without_connectors [0.050241s] ... ok {0} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_no_settings [0.678433s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue [0.056255s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate [0.057857s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_port_group [0.047008s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_extra_vif_port_id [0.054220s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root_non_existent [0.037040s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_in_inspecting_allowed [0.061495s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_nostandalone_ports [0.041549s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_network_type_in_llc_old_api_version [0.040380s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy [0.072593s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps [0.049835s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities [0.049665s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_override_priorities_none [0.052144s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_error_code_okay_error_typeerror_embedded [0.007768s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_sync [0.007247s] ... ok {0} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state_unknown [0.017458s] ... ok {0} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default_set [0.015318s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console [0.022726s] ... ok {0} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_nopid [0.022363s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_deploying [0.028105s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_in_by_arch [0.009570s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged_fails [0.014501s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_root_gb [0.013434s] ... ok {0} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_exception [0.043311s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_ensure_cache_size [0.008170s] ... ok {0} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate_no_force_raw [0.011532s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_mdns [0.014626s] ... ok {0} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_unmanaged_ok [0.025168s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_cold [0.043302s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_detect_vendor [0.053392s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_fail [0.049828s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_properties [0.048174s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_power_off_timeout_ok [0.053244s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_password [0.020552s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_port [0.018332s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_pass [0.024361s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__get_ipmi_cmd [0.046986s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console_fail [0.047967s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console [0.049676s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk_rescue [0.063306s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_ramdisk [0.082378s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_bool_false [0.107954s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_sloppy_false [0.446207s] ... ok {0} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.042050s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_storage_should_write_image_false [0.056321s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSISetupAndHandleErrorsTestCase.test_parent_device_yield [0.007476s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_fails [0.050849s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_whole_disk_image [0.075473s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_cpu_arch [0.015262s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__get_image_dir_path [0.015195s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_image_exceeds_root_partition [0.013453s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_with_configdrive [0.015975s] ... ok {0} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_whole_disk_image [0.017657s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_get_properties [0.041962s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_always [0.094440s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.038746s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.038754s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare [0.088412s] ... ok {0} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_wrong_state [0.057426s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_retries [0.051539s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_snmp_objects [0.011079s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay_on_delay [0.012884s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_set_failure [0.014753s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_invalid_state [0.014672s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_off [0.050351s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitchplus [0.010088s] ... ok {0} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3 [0.009839s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_not_dict [0.006896s] ... ok {0} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_required_invalid [0.007593s] ... ok {0} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_all_args [0.006309s] ... ok {0} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_priority [0.006742s] ... ok {0} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_exclusive_task_metadata [0.006231s] ... ok {0} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_idrac [0.051612s] ... ok {0} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_default_interfaces [0.047289s] ... ok {0} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_default_interfaces [0.046010s] ... ok {0} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_agent_rescue [0.048212s] ... ok {0} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_default_interfaces [0.053706s] ... ok {0} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_get_properties [0.016987s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_swift [0.011339s] ... ok {0} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_local [0.012983s] ... ok {0} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_create_and_update [0.028347s] ... ok {0} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_update_existing_true [0.012332s] ... ok {0} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_set [0.012100s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test__validate_property_values_success [0.011010s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name [0.011561s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_fail [0.012754s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group_uppercase [0.013234s] ... ok {0} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_crud_payload [0.010063s] ... ok {0} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification_empty_schema [0.013203s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_downgrade [0.008072s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes_pinned_2versions [0.007326s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_bad [0.006652s] ... ok {0} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_type_error [0.006291s] ... ok {0} ironic.tests.unit.objects.test_trait.TestTraitObject.test_create [0.010101s] ... ok {0} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_none [0.010024s] ... ok {0} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute [0.006261s] ... ok 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/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a08175ad-e760-44d4-a02e-e6ce251e4a0f X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-20766558-9ac6-4246-8e48-bcb74582ed2e X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.382973+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-9b06f78e-d699-4225-a74e-cb72f9165832 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.440766+00:00"} PATCH: /v1/nodes/969093b8-e4e3-4080-9624-0cde83b2e4e4 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-bc68cf93-33cd-47d7-bb3f-a7317942f815 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 969093b8-e4e3-4080-9624-0cde83b2e4e4 can not be updated while a state transition is in progress.\", \"debuginfo\": null}"} PATCH: /v1/nodes/d72b815f-bb66-441e-a3f8-1e95493bcd9c [{'path': '/fault', 'op': 'replace', 'value': 'why care'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fd456371-796f-4ccb-820e-7ba438704f5a X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/7b8a979e-097d-4a07-999f-fd4d87c048a1 [{'path': '/description', 'value': 'foo', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-339a0c53-994e-4164-9866-10c8b7204b62 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "7b8a979e-097d-4a07-999f-fd4d87c048a1", "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/7b8a979e-097d-4a07-999f-fd4d87c048a1", "rel": "self"}, {"href": "http://localhost/nodes/7b8a979e-097d-4a07-999f-fd4d87c048a1", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/7b8a979e-097d-4a07-999f-fd4d87c048a1/ports", "rel": "self"}, {"href": "http://localhost/nodes/7b8a979e-097d-4a07-999f-fd4d87c048a1/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7b8a979e-097d-4a07-999f-fd4d87c048a1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7b8a979e-097d-4a07-999f-fd4d87c048a1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7b8a979e-097d-4a07-999f-fd4d87c048a1/volume", "rel": "self"}, {"href": "http://localhost/nodes/7b8a979e-097d-4a07-999f-fd4d87c048a1/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7b8a979e-097d-4a07-999f-fd4d87c048a1/states", "rel": "self"}, {"href": "http://localhost/nodes/7b8a979e-097d-4a07-999f-fd4d87c048a1/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, "lessee": null, "description": "foo", "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.595287+00:00"} PATCH: /v1/nodes/019d862e-5e88-4098-aeb3-36e34f20dacb [] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-68fa8769-8c80-491d-a8c3-556ddcfbe53d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "019d862e-5e88-4098-aeb3-36e34f20dacb", "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/019d862e-5e88-4098-aeb3-36e34f20dacb", "rel": "self"}, {"href": "http://localhost/nodes/019d862e-5e88-4098-aeb3-36e34f20dacb", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/019d862e-5e88-4098-aeb3-36e34f20dacb/ports", "rel": "self"}, {"href": "http://localhost/nodes/019d862e-5e88-4098-aeb3-36e34f20dacb/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/019d862e-5e88-4098-aeb3-36e34f20dacb/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/019d862e-5e88-4098-aeb3-36e34f20dacb/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/019d862e-5e88-4098-aeb3-36e34f20dacb/volume", "rel": "self"}, {"href": "http://localhost/nodes/019d862e-5e88-4098-aeb3-36e34f20dacb/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/019d862e-5e88-4098-aeb3-36e34f20dacb/states", "rel": "self"}, {"href": "http://localhost/nodes/019d862e-5e88-4098-aeb3-36e34f20dacb/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.651036+00:00"}{16} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_patch_policy_update_none [0.055542s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_interface_old_api [0.042610s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_no_chassis_uuid [0.047082s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_driver_info [0.074061s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource [0.047996s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_methods [0.055135s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_adopt_raises_error_before_1_17 [0.041991s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean_check_steps_fail [0.060303s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_by_name_unsupported [0.038126s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 401 Unauthorized Content-Type: application/json Www-Authenticate: Keystone uri="https://127.0.0.1:35357" {"error": {"code": 401, "title": "Unauthorized", "message": "The request you have made requires authentication."}} [, , ] func1() migrated 10 of 10 objects. func2() migrated 0 of 0 objects. Malformed option m1key1=value1 Data migrations have not completed. Please re-run. 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': '2021-01-19T06:02:18.543996+00:00', 'updated_at': None}]} 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-d4026d0b-95d7-4312-93a1-5435755fb955 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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 {} 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': '2021-01-19T06:02:18.662606+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': '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': '2021-01-19T06:02:18.662606+00:00', 'updated_at': None} GET: /v1/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-4bfead4d-7216-4ee2-85b9-c97f3d3bad03 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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: fake\", \"debuginfo\": null}"} 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\": \"\"}"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/network_type', 'value': 'unmanaged', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-92d8a001-c9e4-44e8-908b-c53272f439ca X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.63 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/5fd895da-a857-4419-be07-3337d1b510de [{'path': '/address', 'value': '00:00:00:00:00:00', 'op': 'replace'}] GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-d6311ac8-1369-46b2-80cd-6702ca182176 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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-40c0506c-3465-401b-baf7-127785b1c6e8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-97dd720e-f1ce-4550-a34d-8d4485d93c8d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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', '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-c9ab0c12-8fbd-403f-85a9-4c597aba7ec8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': {'network_type': 'unmanaged'}, '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-cdf06094-7e84-4a1e-a2bb-d03c97e2d65d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": {"network_type": "unmanaged"}, "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": "2021-01-19T06:02:19.047569+00:00", "updated_at": null} GET: /v1/portgroups/?limit=3 {} GOT:{'portgroups': [{'uuid': '3c201e90-0bbc-4d44-bccd-3522fe9f0873', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/3c201e90-0bbc-4d44-bccd-3522fe9f0873', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3c201e90-0bbc-4d44-bccd-3522fe9f0873', 'rel': 'bookmark'}]}, {'uuid': '6d164921-6408-4ba8-a6a7-c6368ec9472d', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/6d164921-6408-4ba8-a6a7-c6368ec9472d', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6d164921-6408-4ba8-a6a7-c6368ec9472d', 'rel': 'bookmark'}]}, {'uuid': '160a2540-6456-42f8-90c3-1ee43a2ee72e', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/160a2540-6456-42f8-90c3-1ee43a2ee72e', 'rel': 'self'}, {'href': 'http://localhost/portgroups/160a2540-6456-42f8-90c3-1ee43a2ee72e', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=160a2540-6456-42f8-90c3-1ee43a2ee72e'}{7} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links [1.537730s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_collection_links_default_limit [0.060514s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_by_node_uuid_ok [0.038510s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_invalid_address_format [0.030739s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_multi [0.081367s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_node_id [0.032676s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_address [0.055749s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_node_uuid_not_found [0.037424s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_remove_mandatory_attr [0.024671s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_valid_patches [0.022801s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_types.TestUuidType.test_invalid_uuid [0.006045s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_remove [0.005170s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_internal_info [0.009510s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_ramdisk_endpoints [0.005724s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve [0.007583s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve [0.007524s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_invalid_name [0.006669s] ... ok GET: /v1/portgroups?fields=address&limit=2 {} GOT:{'portgroups': [{'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/portgroups/31f67759-a157-4a04-bf42-c2c880260426', 'rel': 'self'}, {'href': 'http://localhost/portgroups/31f67759-a157-4a04-bf42-c2c880260426', 'rel': 'bookmark'}]}, {'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/portgroups/4194c694-f50d-4232-999f-dc7028c72b41', 'rel': 'self'}, {'href': 'http://localhost/portgroups/4194c694-f50d-4232-999f-dc7028c72b41', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address&limit=2&marker=4194c694-f50d-4232-999f-dc7028c72b41'} GET: /v1/portgroups?address=aa:bb:cc:dd:ee:f1 {} GOT:{'portgroups': [{'uuid': 'f2428814-d6a9-49e3-bcb7-e28bae5a4f11', 'address': 'aa:bb:cc:dd:ee:f1', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/f2428814-d6a9-49e3-bcb7-e28bae5a4f11', 'rel': 'self'}, {'href': 'http://localhost/portgroups/f2428814-d6a9-49e3-bcb7-e28bae5a4f11', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-cfb1fc71-f84d-4863-a63f-27d6068a4c08 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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-c1fe84ac-30d7-41a7-a36f-8de43f43986e X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-29f74d00-548b-4138-a40f-798e6169a975 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute connector_id. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} GET: /v1/volume/targets?detail=True&limit=3 {} GOT:{'targets': [{'uuid': 'dbc5360b-996e-4b0d-a5cd-1d8a27832303', '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/dbc5360b-996e-4b0d-a5cd-1d8a27832303', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/dbc5360b-996e-4b0d-a5cd-1d8a27832303', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:19.458481+00:00', 'updated_at': None}, {'uuid': 'd1a7639f-3a2b-4d4a-b103-d8997d3c1ecf', '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/d1a7639f-3a2b-4d4a-b103-d8997d3c1ecf', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/d1a7639f-3a2b-4d4a-b103-d8997d3c1ecf', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:19.460184+00:00', 'updated_at': None}, {'uuid': '21cdb604-08c0-41ee-b0b0-8586a861f732', '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/21cdb604-08c0-41ee-b0b0-8586a861f732', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/21cdb604-08c0-41ee-b0b0-8586a861f732', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:19.461647+00:00', 'updated_at': None}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&detail=True&limit=3&marker=21cdb604-08c0-41ee-b0b0-8586a861f732'} 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-0743fd13-2241-4344-830c-ea03adc961dc X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-94333359-823f-40fb-a464-c9b22a91596e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume target with boot index '100' for the same node already exists.\", \"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-40bae96b-815f-4aaa-9b90-f60ffa83017b X-Openstack-Ironic-Api-Maximum-Version: 1.68 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 [{'path': '/chassis_uuid', 'value': 'eeeeeeee-dddd-cccc-bbbb-aaaaaaaaaaaa', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-852aa310-a6d5-49b5-a03c-a473e556b31a X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-f407c9d3-52e1-4a95-a86c-78bdeb502b88 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/b0205f2e-4732-4857-ae6c-70a732163565 [{'path': '/boot_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bfbda477-ccd2-4f40-893a-92f108563522 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "b0205f2e-4732-4857-ae6c-70a732163565", "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/b0205f2e-4732-4857-ae6c-70a732163565", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/ports", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/volume", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/states", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.210513+00:00"} PATCH: /v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565 [{'path': '/console_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ad7adf46-53d5-4d5a-abe3-62e15d6e2a77 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "b0205f2e-4732-4857-ae6c-70a732163565", "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/b0205f2e-4732-4857-ae6c-70a732163565", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/ports", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/volume", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/states", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.210513+00:00"} PATCH: /v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565 [{'path': '/deploy_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-924d045a-d0de-4f97-ba56-bf22bc533e6e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "b0205f2e-4732-4857-ae6c-70a732163565", "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/b0205f2e-4732-4857-ae6c-70a732163565", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/ports", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/volume", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/states", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.210513+00:00"} PATCH: /v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565 [{'path': '/inspect_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f71af81b-78ae-4c25-a370-2d974a1adb24 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "b0205f2e-4732-4857-ae6c-70a732163565", "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/b0205f2e-4732-4857-ae6c-70a732163565", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/ports", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/volume", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/states", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.210513+00:00"} PATCH: /v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565 [{'path': '/management_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ba3e92eb-abda-496e-8951-a7b3f9e4b53c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "b0205f2e-4732-4857-ae6c-70a732163565", "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/b0205f2e-4732-4857-ae6c-70a732163565", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/ports", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/volume", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/states", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.210513+00:00"} PATCH: /v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565 [{'path': '/power_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-f47e3c18-e8e4-4d61-aa66-48e55faae29f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "b0205f2e-4732-4857-ae6c-70a732163565", "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/b0205f2e-4732-4857-ae6c-70a732163565", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/ports", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/volume", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/states", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.210513+00:00"}{19} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_interface_fields [0.940632s] ... ok GOT:Response: 204 No Content Openstack-Request-Id: req-1fdcf0c1-d082-4f53-ba97-3035807b15c9 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 GET: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-7e9cd93b-5b78-49cb-9617-3db1ca83eaf0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\", \"debuginfo\": 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': '2021-01-19T06:02:19.237373+00:00', 'updated_at': None} 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-a03d570c-2531-4db8-8fc2-49854be13327 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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}"} 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/a61262d3-db6d-4c00-b11c-498788c2e51a Openstack-Request-Id: req-7495b203-cd83-43a4-95d2-e568fae4673e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "a61262d3-db6d-4c00-b11c-498788c2e51a", "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/a61262d3-db6d-4c00-b11c-498788c2e51a", "rel": "self"}, {"href": "http://localhost/volume/connectors/a61262d3-db6d-4c00-b11c-498788c2e51a", "rel": "bookmark"}], "created_at": "2021-01-19T06:02:19.361568+00:00", "updated_at": null} GET: /v1/volume/connectors/a61262d3-db6d-4c00-b11c-498788c2e51a {} GOT:{'uuid': 'a61262d3-db6d-4c00-b11c-498788c2e51a', '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/a61262d3-db6d-4c00-b11c-498788c2e51a', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/a61262d3-db6d-4c00-b11c-498788c2e51a', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:19.361568+00:00', 'updated_at': None} GET: /v1/volume/targets/?limit=3 {} GOT:{'targets': [{'uuid': '3741daab-f62a-46cc-a83f-0fb5d1968a37', 'volume_type': 'iscsi', 'boot_index': 0, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/3741daab-f62a-46cc-a83f-0fb5d1968a37', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/3741daab-f62a-46cc-a83f-0fb5d1968a37', 'rel': 'bookmark'}]}, {'uuid': 'd0c6060c-c419-485e-b952-b7f4cfe9c550', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/d0c6060c-c419-485e-b952-b7f4cfe9c550', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/d0c6060c-c419-485e-b952-b7f4cfe9c550', 'rel': 'bookmark'}]}, {'uuid': 'dd11c656-1cda-41fe-beba-5a36fa3f7d58', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/dd11c656-1cda-41fe-beba-5a36fa3f7d58', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/dd11c656-1cda-41fe-beba-5a36fa3f7d58', '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=dd11c656-1cda-41fe-beba-5a36fa3f7d58'} GET: /v1/volume/targets?detail=True {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} 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-a544a50d-f19a-42ca-84a1-28f1e1c3d29b X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:19.495983+00:00", "updated_at": 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-220bb8e1-d89f-4c37-bcee-a6e02dd4eee3 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:19.545811+00:00", "updated_at": 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': {'foo': 123}, '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-865ab397-2a56-49a5-a6a8-76496cbf8240 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:19.622953+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': '2021-01-19T06:02:19.622953+00:00', 'updated_at': None}{6} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_doesnt_contain_id [0.654456s] ... ok {6} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_public_endpoint [0.011966s] ... ok {6} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_get_request [0.042183s] ... ok {6} ironic.tests.unit.api.test_types.TestTypes.test_named_attribute [0.006309s] ... ok {6} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_allowed [0.047607s] ... ok {6} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_two [0.009018s] ... ok {6} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_additional_defaults [0.008466s] ... ok {6} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_no_driver_load_error_if_driver_disabled [0.011787s] ... ok {6} ironic.tests.unit.common.test_fsm.FSMTest.test_initialize [0.005288s] ... ok {6} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_not [0.004947s] ... ok {6} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_no_key_no_exception [0.005445s] ... ok {6} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_account_detected [0.007836s] ... ok {6} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_do_not_return_expired_tempurls [0.006703s] ... ok {6} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_oserror [0.009766s] ... ok {6} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_850 [0.011478s] ... ok {6} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false [0.006411s] ... ok {6} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios [0.009073s] ... ok {6} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_bios_with_no_boot_mode [0.008765s] ... ok {6} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_no_such_prop [0.006454s] ... ok {6} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_excludes_None [0.363903s] ... ok {6} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_rescuing [0.044208s] ... ok {6} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_int_info [0.043886s] ... ok {6} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__add_ip_addresses_for_ipv6_stateful [0.017287s] ... ok {6} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface [0.034783s] ... ok {6} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_no_link_info [0.034877s] ... ok {6} ironic.tests.unit.common.test_nova.TestNovaAdapter.test_get_nova_adapter [0.008218s] ... ok {6} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_config_file [0.034642s] ... ok {6} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipa_debug_rescue [0.052102s] ... ok {6} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe [0.048538s] ... ok {6} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_ipxe_timeout [0.059647s] ... ok {6} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_size_gb [0.008490s] ... ok {6} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions [0.005308s] ... ok {6} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_objects [0.005201s] ... ok {6} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity_empty_base [0.006149s] ... ok {6} ironic.tests.unit.common.test_states.StatesTest.test_state_values_length [0.005245s] ... ok {6} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc_resource_not_found [0.035970s] ... ok {6} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_no_proxy [1.092047s] ... ok {6} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked_error_on_rmtree [0.013989s] ... ok {6} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_candidates [0.059683s] ... ok {6} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker [0.006251s] ... ok {6} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_no_console_enabled [0.106998s] ... ok {6} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_collect_logs [0.108466s] ... ok {6} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_get_power_fail [0.175387s] ... ok {6} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console [0.034070s] ... ok {6} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_adopt_failed_no_power_change [0.128189s] ... ok {6} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_allowed_in_maintenance [0.315282s] ... ok {6} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_reserved [0.125820s] ... ok {6} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup [0.048314s] ... ok {6} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node_retry [0.139494s] ... ok {6} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescue [0.141484s] ... ok {6} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover [0.139676s] ... ok {6} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_not_mapped [0.012837s] ... ok {6} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_maintenance_on_upgrade_lock [0.018156s] ... ok {6} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_disappears_on_acquire [0.016217s] ... ok {6} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ilo [0.096733s] ... ok {6} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_unexpected [0.041685s] ... ok {6} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test__check_inspect_wait_timeouts [0.159412s] ... ok {6} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_not_found [0.054768s] ... ok {6} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties [0.110429s] ... ok {6} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_unset [0.112165s] ... ok {6} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_allowed_state [0.184715s] ... ok {6} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port [0.049322s] ... ok {6} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_http_method_not_supported [0.072448s] ... ok {6} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods_no_default_interface [0.078893s] ... ok {6} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_raises_network_error [0.048582s] ... ok {6} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_emit_notification [0.043252s] ... ok {6} ironic.tests.unit.conductor.test_notification_utils.ProvisionNotifyTestCase.test_mask_secrets [0.005907s] ... ok {6} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_cap [0.006643s] ... ok {6} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits_replace [0.011139s] ... ok {6} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_boot_device [0.010740s] ... ok {6} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_boot_devices [0.010792s] ... ok {6} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_supported_indicators [0.010826s] ... ok {6} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_skip_missing [0.044255s] ... ok {6} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_stable_state [0.008155s] ... ok {6} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_voltgt_exception [0.017767s] ... ok {6} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_link_fails [0.017583s] ... ok {6} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_other_error [0.012676s] ... ok {6} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_other_error [0.012664s] ... ok {6} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_false [0.043712s] ... ok {6} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_valid [0.038287s] ... ok {6} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_failed_getting_state_notify [0.090178s] ... ok {6} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_store_new [0.013971s] ... ok {6} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_invalid_trait_type [0.005990s] ... ok {6} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets_fix [0.047782s] ... ok {6} ironic.tests.unit.db.sqlalchemy.test_api.TestDBWriteMethodsRetryOnDeadlock.test_retry_on_deadlock [0.006767s] ... ok {6} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid_that_does_not_exist [0.016152s] ... ok {6} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_null [0.021459s] ... ok {6} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_migrate_by_2 [0.042592s] ... ok {6} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_one_node [0.092386s] ... ok {6} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions [0.270280s] ... ok {6} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_missing_version_columns [0.010040s] ... ok {6} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_no_ht [0.014103s] ... ok {6} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces_duplicate [0.014976s] ... ok /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: 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:376: 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) 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. {6} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_duplicate_name [0.016583s] ... ok {6} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_node_not_exist [0.018351s] ... ok {6} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node [0.024360s] ... ok {6} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_by_uuid [0.024764s] ... ok {6} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_in_exception_message [0.022536s] ... ok {6} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name_that_does_not_exist [0.014300s] ... ok {6} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_nodeid_and_bootindex [0.014376s] ... ok {6} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup_with_exception [0.046111s] ... ok {6} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_no_vif_data [0.047871s] ... ok {6} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_with_smartnic_port [0.056401s] ... ok {6} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning [0.043762s] ... ok {6} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_override [0.056600s] ... ok {6} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_set_fail [0.051986s] ... ok {6} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_validate [0.049955s] ... ok {6} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job_fail [0.022961s] ... ok {6} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_cdrom [0.026797s] ... ok {6} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_no_change [0.034097s] ... ok {6} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_deploy [0.064556s] ... ok {6} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_reboot [0.016309s] ... ok {6} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk_fail [0.016569s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_iso [0.014228s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_boot_ramdisk [0.068835s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection [0.035589s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_rescuing [0.058861s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue [0.054674s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server_fails [0.018214s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_capabilities_exist [0.050973s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_false [0.015147s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_auth_protocol [0.014679s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd [0.064390s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase_ilo_error [0.057707s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target [0.052410s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_failed [0.051545s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_no_password [0.058260s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_secure_boot_keys_to_default [0.055008s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_fail [0.052112s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_missed_properties [0.064433s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_cleans_all_files_if_exc_thrown_deploy [0.077947s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_on_ok [1.048366s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_fail [0.045696s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_deploying [0.110326s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_deploying [0.072073s] ... ok {6} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_validate_boot_into_iso [0.046182s] ... ok {6} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_invalid_input [0.091188s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_create_ok [0.066003s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_file [0.067215s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image [0.050341s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_instance [0.052556s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_missing_deploy_ramdisk [0.044756s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.039844s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_without_secure_boot [0.057409s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_without_backup_bios [0.057944s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_ramdisk_not_exist [0.065072s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_fail [0.051672s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.015791s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate_fail [0.039430s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_supported_boot_devices [0.047974s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_with_fgi_status_none [0.053649s] ... ok {6} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_raid_level_outside_list [0.040260s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_flat [0.059871s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet2 [0.075472s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first [0.057065s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_VIF_MAC_update_fail [0.078786s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_noportgroup [0.139384s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_noportgroup [0.135219s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach [0.055161s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_deleting_node [0.065163s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network [0.062259s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_provisioning_network [0.052810s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_from_node [0.260581s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_from_node [0.097264s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_from_node [0.096831s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network [0.056692s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_vif_id [0.062781s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_client_id [0.068135s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups [0.057447s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_init_incorrect_provisioning_net [0.018647s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_smartnic [0.056316s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection_exc [0.045858s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_configure_tenant_networks [0.047641s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_port_changed [0.046100s] ... ok {6} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_detach [0.048745s] ... ok {6} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_bad_device [0.039837s] ... ok {6} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info [0.036513s] ... ok {6} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_redfish_conn_error [0.055765s] ... ok {6} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed [0.029059s] ... ok {6} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi_fail [0.076439s] ... ok {6} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device [0.043942s] ... ok {6} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info [0.014109s] ... ok {6} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_missing_system_id [0.013751s] ... ok {6} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_raises_with_insufficent_data [0.052344s] ... ok {6} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_fc_conn_iscsi_target [0.061950s] ... ok {6} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.069960s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_clean [0.046918s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration [0.046180s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_empty_target_raid_config [0.054796s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down [0.104551s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_driver_info_manage_agent_boot_false [0.066738s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints_iinfo [0.048418s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail_by_agent_consumed_memory [0.047715s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled_format_qcow2 [0.046493s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source2 [0.014731s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid [0.062852s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_missing_command_result [0.054358s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_busy [0.046071s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_json [0.232618s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_config [0.007787s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_no_retries [0.007087s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_verify [0.014321s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target [0.007545s] ... ok {6} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_start_iscsi_target_custom_port [0.007143s] ... ok {6} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid [0.015969s] ... ok {6} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_exception [0.014443s] ... ok {6} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_shellinabox_not_running [0.014332s] ... ok {6} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_fast_track [0.063945s] ... ok {6} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_per_node [0.015166s] ... ok {6} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_configdrive [0.014829s] ... ok {6} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option [0.015825s] ... ok {6} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_file_image [0.072772s] ... ok {6} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_tear_down_storage_configuration [0.094017s] ... ok {6} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_old_deleted [0.007992s] ... ok {6} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_master [0.009137s] ... ok {6} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_iso_image [0.040008s] ... ok {6} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso [0.038408s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_all_options_fail [0.008396s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_missing_sensor_reading [0.015741s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_ok [0.047991s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_bad_device [0.046562s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_invalid_bridging_type [0.018030s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_bmc_initialization_in_progress [0.020788s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_get_console [0.049723s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_wrong_ipmi_protocol_version [0.036416s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk [0.097050s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_without_copy [0.092267s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_image_source [0.040282s] ... ok {6} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso [0.046063s] ... ok {6} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_adopting [0.047749s] ... ok {6} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_whole_disk_image [1.034560s] ... ok {6} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_verify_iscsi_connection_override_attempts [0.007173s] ... ok {6} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_rescue [0.005621s] ... ok {6} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.079720s] ... ok {6} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_sloppy_true [0.345181s] ... ok {6} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.041602s] ... ok {6} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_skip_check_write_image_false [0.041596s] ... ok {6} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_timeouts [0.044455s] ... ok {6} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_on [0.011341s] ... ok {6} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_reset [0.011016s] ... ok {6} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_on [0.010538s] ... ok {6} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_get_failure [0.011425s] ... ok {6} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_off [0.010991s] ... ok {6} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_snmp_objects [0.009811s] ... ok {6} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version_and_missing_community [0.013511s] ... ok {6} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_community_snmp_v2c [0.008968s] ... ok {6} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port [1.271258s] ... ok {6} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_current_none [0.048021s] ... ok {6} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_inject_nmi_default_impl [0.009354s] ... ok {6} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_no_vendor [0.051049s] ... ok {6} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_driver_interfaces [0.044476s] ... ok {6} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_boot_device [0.047930s] ... ok {6} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs [0.009426s] ... ok {6} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_mac_addresses [0.054572s] ... ok {6} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_save [0.011895s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. {6} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_refresh [0.011622s] ... ok INFO [alembic.runtime.migration] Will assume non-transactional DDL. {6} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_remove [0.010964s] ... ok {6} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_set_no_remove [0.009591s] ... ok {6} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_missing [0.009369s] ... ok {6} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_default [0.009377s] ... ok {6} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_no_remove_non_default [0.008447s] ... ok {6} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_insecure [0.009030s] ... ok {6} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_with_traits [0.008775s] ... ok {6} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_uuid [0.010604s] ... ok {6} ironic.tests.unit.objects.test_objects.TestObject.test_base_attributes [0.006013s] ... ok {6} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_no_pin [0.005396s] ... ok {6} ironic.tests.unit.objects.test_objects.TestObject.test_object_property [0.005120s] ... ok {6} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_uuid [0.009761s] ... ok {6} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_refresh [0.009224s] ... ok /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: 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:376: 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) 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. GET: /v1/ports {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-b9bc3289-f536-44b1-a921-40ff61cfbb1a X-Openstack-Ironic-Api-Maximum-Version: 1.68 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: fake\", \"debuginfo\": null}"} GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} GOT:{'ports': []} 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-1977fcda-aa7b-4dae-9ff0-87fab503cc5d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:19.092976+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': '2021-01-19T06:02:19.092976+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: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-1943955e-7abf-4407-97c1-684a5b6643b5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '6eb02b44-18a3-4659-8c0b-8d2802581ae4', 'internal_info': {'a': 'b'}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cd79ca75-d56d-4ec4-ba8b-e2c9d892dfd1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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_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-dfc79456-1d49-4096-9d5a-771be9e62b4e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:19.267824+00:00", "updated_at": null} 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/detail {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} 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-d0a042e4-6743-405b-8a7e-80b83dbb638c X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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-179c928b-0a0a-4884-a4ef-c2ede79004ec X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/volume/connectors?detail=True&limit=3 {} GOT:{'connectors': [{'uuid': 'c57cef38-df9a-4846-a0d2-b7664bc410d1', 'type': 'iqn', 'connector_id': 'test-connector_id-0', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/c57cef38-df9a-4846-a0d2-b7664bc410d1', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/c57cef38-df9a-4846-a0d2-b7664bc410d1', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:19.451199+00:00', 'updated_at': None}, {'uuid': 'a041fadb-59dd-46cf-a4d3-c8f2b76ee3d2', 'type': 'iqn', 'connector_id': 'test-connector_id-1', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/a041fadb-59dd-46cf-a4d3-c8f2b76ee3d2', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/a041fadb-59dd-46cf-a4d3-c8f2b76ee3d2', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:19.452783+00:00', 'updated_at': None}, {'uuid': 'b0230d65-db87-468e-befc-7a5513c98f7f', 'type': 'iqn', 'connector_id': 'test-connector_id-2', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/b0230d65-db87-468e-befc-7a5513c98f7f', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/b0230d65-db87-468e-befc-7a5513c98f7f', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:19.454090+00:00', 'updated_at': None}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&detail=True&limit=3&marker=b0230d65-db87-468e-befc-7a5513c98f7f'}{8} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_detail [2.151824s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_empty [0.039654s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key_invalid [0.044013s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid [0.049743s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_uuid_invalid_type [0.031701s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_connector_id_already_exist [0.043357s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_node_locked [0.046351s] ... ok {8} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid [0.051719s] ... ok {8} ironic.tests.unit.api.test_args.TestArgs.test_fromjson_array [0.006127s] ... ok {8} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_enabled [0.018170s] ... ok {8} ironic.tests.unit.api.test_types.TestTypes.test_cross_referenced_types [0.006790s] ... ok {8} ironic.tests.unit.api.test_types.TestTypes.test_list_attribute_no_auto_register [0.005162s] ... ok {8} ironic.tests.unit.api.test_types.TestTypes.test_reregister [0.005803s] ... ok {8} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_random_no_zeros [0.015475s] ... ok {8} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_notdone [0.012897s] ... ok {8} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions [0.153599s] ... ok {8} ironic.tests.unit.cmd.test_status.TestUpgradeChecks.test__check_obj_versions_bad [0.009397s] ... ok {8} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes [0.048410s] ... ok {8} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_failure_errors_not_allowed [0.047249s] ... ok {8} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces [0.013790s] ... ok {8} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_enabled_supported_interfaces_non_default [0.012514s] ... ok {8} ironic.tests.unit.common.test_driver_factory.StorageInterfaceFactoryTestCase.test_build_interface_for_task [0.038269s] ... ok {8} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_is_glance_image [0.005458s] ... ok {8} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href [0.005960s] ... ok {8} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_path [0.010199s] ... ok {8} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_true [0.009656s] ... ok {8} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_umount_fails [0.011329s] ... ok {8} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_converted_size [0.006513s] ... ok {8} ironic.tests.unit.common.test_json_rpc.TestService.test_authenticated_no_admin_role [0.015998s] ... ok {8} ironic.tests.unit.common.test_json_rpc.TestService.test_expected_failure [0.019402s] ... ok {8} ironic.tests.unit.common.test_json_rpc.TestService.test_method_not_found [0.015487s] ... ok {8} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports [0.045816s] ... ok {8} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id_no_such_portgroup [0.039560s] ... ok {8} ironic.tests.unit.common.test_network.TestRemoveVifsTestCase.test_remove_vifs_from_node_failure [0.069493s] ... ok {8} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv4 [0.014820s] ... ok {8} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_rollback_ports_exception [0.049480s] ... ok {8} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_reset_mac [0.658578s] ... ok {8} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_binding [0.008417s] ... ok {8} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel [0.036363s] ... ok {8} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_one [0.015433s] ... ok {8} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_ipxe [0.014142s] ... ok {8} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_local_boot [0.066513s] ... ok {8} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_is_root_volume [0.008248s] ... ok {8} ironic.tests.unit.common.test_swift.SwiftTestCase.test_head_object [0.032972s] ... ok {8} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal [0.008371s] ... ok {8} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_datapath_id [0.005737s] ... ok {8} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_correct_setting [0.022314s] ... ok {8} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_resource_class_mismatch [0.054856s] ... ok {8} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_candidates_do_not_match [0.028043s] ... ok {8} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_success [0.049340s] ... ok {8} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state_maintenance [0.147714s] ... ok {8} ironic.tests.unit.conductor.test_base_manager.RegisterInterfacesTestCase.test__register_and_validate_no_valid_default [0.310169s] ... ok {8} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_not_found [0.126461s] ... ok {8} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_fail [0.076544s] ... ok {8} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout_fallback [0.043364s] ... ok {8} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_set_power_fail [0.201500s] ... ok {8} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_enable_console_already_enabled [0.147207s] ... ok {8} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy [0.140061s] ... ok {8} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_conflict [0.042503s] ... ok {8} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected [0.133319s] ... ok {8} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_with_takeover [0.161085s] ... ok {8} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue [0.151555s] ... ok {8} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_ironic_error [0.153029s] ... ok {8} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_provision_rescue_abort [0.146631s] ... ok {8} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_without_console [0.165263s] ... ok {8} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_no_worker_avail [0.012962s] ... ok {8} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_get_power_state_fail [0.018638s] ... ok {8} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node_adopt_failed [0.012898s] ... ok {8} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail [0.036051s] ... ok {8} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_locked [0.050561s] ... ok {8} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_node_prioritization [0.034259s] ... ok {8} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_get_raid_logical_disk_properties [0.114369s] ... ok {8} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_deployfail_state [0.204219s] ... ok {8} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_worker_pool_full [0.168712s] ... ok {8} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_from_invalid_driver [0.057916s] ... ok {8} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_reason_without_protected [0.020149s] ... ok {8} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_resource_class_no_previous_value [0.259294s] ... ok {8} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_locked [0.029214s] ... ok {8} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup [0.055312s] ... ok {8} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_node_power_on [0.046717s] ... ok {8} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_driver_vendor_passthru_methods [0.077127s] ... ok {8} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_node_already_locked [0.141551s] ... ok {8} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_vif_invalid_for_attach [0.043202s] ... ok {8} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_notify_exc [0.015178s] ... ok {8} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_deploy [0.012298s] ... ok {8} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_console_information [0.011816s] ... ok {8} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_known_driver [0.019374s] ... ok {8} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_indicator_state [0.011705s] ... ok {8} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_port [0.011551s] ... ok {8} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_ok [0.045023s] ... ok {8} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_exception_no_retries [0.019220s] ... ok {8} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_other_error [0.014143s] ... ok {8} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_no_worker [0.014479s] ... ok {8} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_inspecting [0.014465s] ... ok {8} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_false [0.019740s] ... ok {8} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_reboot [0.070560s] ... ok {8} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_with_node [0.033298s] ... ok {8} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_uuid [0.016496s] ... ok {8} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_empty_db [0.017602s] ... ok {8} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_migrate_all [0.033804s] ... ok {8} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_node_not_exist [0.020397s] ... ok {8} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting [0.023422s] ... ok {8} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_uuid [0.011962s] ... ok {8} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_node_not_exist [0.016977s] ... ok {8} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_empty_node_tags [0.022286s] ... ok {8} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_after_release [0.031620s] ... ok {8} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id [0.017093s] ... ok {8} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_uuid [0.016575s] ... ok {8} ironic.tests.unit.db.test_ports.DbPortTestCase.test_destroy_port [0.018003s] ... ok {8} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id [0.016673s] ... ok {8} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_node_id_that_does_not_exist [0.014594s] ... ok {8} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id [0.015667s] ... ok {8} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target [0.018079s] ... ok {8} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_url [0.053906s] ... ok {8} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps [0.013671s] ... ok {8} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_missing [0.013373s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_disk [0.055737s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_BIOS_boot_mode [0.042882s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs_fail [0.049275s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_pxe [0.016834s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device [0.017503s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_not_persistent [0.018103s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_not_persistent [0.017201s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state [0.048170s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk_with_optional_attrs [0.016475s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_virtual_disks [0.016044s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_controllers [0.085526s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_no_change [0.072217s] ... ok {8} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_get_logical_disks [0.059492s] ... ok {8} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_address [0.014810s] ... ok {8} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.014046s] ... ok {8} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_revert_dictionary [0.014635s] ... ok {8} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_get_properties [0.035307s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_configuration [0.060118s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_reset_bios_failed_cleaning [0.067820s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy_config [0.014015s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_deploy_info [0.052609s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_with_boot_iso [0.054993s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume [1.140430s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.048605s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile [0.017113s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_fail [0.048060s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_secure_boot_mode_passed_true [0.045019s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_invalid_priv_protocol [0.013424s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_calls_process_firmware_image [0.022618s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen8 [0.250129s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_capabilities_ok [0.016231s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_deploy [0.059635s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_properties [0.051748s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_3___legacy_bios_and_uefi_____uefi____bios___ [0.042828s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo [0.052335s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_with_auth [0.063287s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_deploy [0.069597s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_deploy [0.853682s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_ilo_error_cleaning [0.077544s] ... ok {8} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_manage [0.051773s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_with_parameters [0.050566s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot_active [0.078353s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.120697s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_conn_problem [0.072241s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test__configure_vmedia_boot [0.053609s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi [0.094711s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware [0.135937s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_disk [0.217739s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_fgi_status [0.024449s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot_timeout [0.049293s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate [0.039389s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_validate_fail [0.042392s] ... ok {8} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_with_none_raid_adapter_profile [0.039828s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_port_uuid [0.077222s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_address_no_vif_id [0.053244s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_pxe_ports_exc [0.053823s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_multiple_segment_mappings [0.062743s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_no_address [0.056609s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_extra_vif_port_id [0.051948s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network_from_node [0.070204s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_cleaning_network_with_sg [0.054405s] ... ok {8} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_local [0.056337s] ... ok {8} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_normal_boot [0.096576s] ... ok {8} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_power [0.036476s] ... ok {8} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_node_locked [0.027194s] ... ok {8} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_noop [0.047699s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_via_node [0.015851s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__get_post_step_hook [0.027423s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot [0.046650s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_default [0.044263s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_set_boot_device_fail [0.115323s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_doesnt_complete [0.053808s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_in_core_deploy_step [0.047172s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_custom_interface [0.043249s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_missing_steps [0.045496s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_exc [0.006670s] ... ok {8} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_finalize_rescue_fallback_restricted [0.006404s] ... ok {8} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_https_url [0.008564s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_agent_add_clean_params [0.058183s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_manage_boot_false [0.052278s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_uefi_without_by_arch [0.010438s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_good [0.015448s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image_no_kernel [0.016473s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs [0.763022s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_no_poweroff [0.188167s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_instance_info_cap [0.006752s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_trusted_boot [0.006236s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_pxe_config_partition_image [0.006108s] ... ok {8} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_some_other_exception [0.048752s] ... ok {8} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_not_uuid_no_force_raw [0.008502s] ... ok {8} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso [0.038487s] ... ok {8} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspecting [0.016288s] ... ok {8} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_error [0.079845s] ... ok {8} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_require_managed_boot [0.017525s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls [0.008436s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_already_checked [0.007734s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_3 [0.007873s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_no_ipmitool [0.007761s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_force_boot_device_persistent [0.045527s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_supported_boot_devices [0.045507s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_ok [0.051722s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_vendor_routes [0.037528s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_two_calls_to_diff_address [0.019186s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_ipmi_1_5 [0.017372s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_allocated [0.017258s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.058740s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_file_different [0.097101s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.119940s] ... ok {8} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_uefi [0.089933s] ... ok {8} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_instance_boot_netboot [0.053592s] ... ok {8} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_cache_instance_images_master_path [0.016094s] ... ok {8} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_whole_disk_image_no_root [0.014650s] ... ok {8} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_fail_no_api_url [0.035273s] ... ok {8} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_force_iscsi_lun_update [0.006633s] ... ok {8} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_false [1.059413s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-fa278fbb-3472-4b9b-8d06-d5c9ce1a8ff9 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': {}, '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-a3fddc24-ce43-4b6f-b9a6-ac6abba7bc27 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': {}, 'chassis_uuid': 'e74c40e0-d825-11e2-a28f-0800200c9a66', 'traits': ['CUSTOM_4']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-529e7da5-4277-4580-ae09-f72d72970d72 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': {'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-c0b6e2d5-de8e-4dae-a5f8-1c0870006681 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.477291+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': '2021-01-19T06:02:18.477291+00:00'}{9} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_instance_info [0.075116s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_ports_subresource_no_node_id [0.037893s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_async [0.036409s] ... ok {8} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.109734s] ... ok {8} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_validate [0.053662s] ... ok {8} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.055076s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_already_in_progress [0.047874s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_no_timeout_invalid_soft_ver [0.036695s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_already_in_state [0.043291s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_put_raid_older_version [0.037811s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_unrescue_raises_error_before_1_38 [0.035924s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_not_found [0.043128s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_trait [0.046651s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_emit_maintenance_notification [0.007810s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_port_notification [0.005836s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links_default_limit [0.061181s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_ok [0.037887s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_read [0.049875s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_transport [0.045019s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_engine [0.047476s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_on [0.011055s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_on [0.010042s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_set_failure [0.009984s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin [0.057579s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid [0.044750s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network_upgrade [0.038157s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_masterswitch [0.008362s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default [0.008758s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_write_community [0.008261s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_badproto [0.008961s] ... ok {8} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_name [0.008493s] ... ok {8} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_invalid_port [0.014355s] ... ok {8} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_validate [1.561949s] ... ok {8} ironic.tests.unit.drivers.test_base.DeployStepTestCase.test_get_and_execute_deploy_steps [0.007810s] ... ok {8} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_apply_configuration_wrapper [0.006902s] ... ok {8} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_bios [0.048194s] ... ok {8} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_validate [0.042528s] ... ok {8} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_inspector [0.043324s] ... ok {8} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_default_interfaces [0.047931s] ... ok {8} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability [0.060355s] ... ok {8} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_refresh [0.012184s] ... ok {8} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_refresh [0.011276s] ... ok {8} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_nullable_translation [0.007965s] ... ok {8} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_non_default [0.010103s] ... ok {8} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_unset [0.010239s] ... ok {8} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove [0.009932s] ... ok {8} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_remove [0.010415s] ... ok {8} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_remove [0.009417s] ... ok {8} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing [0.009600s] ... ok {8} ironic.tests.unit.objects.test_node.TestNodeObject.test_list [0.010275s] ... ok {8} ironic.tests.unit.objects.test_node.TestNodeObject.test_payload_schemas [0.009307s] ... ok {8} ironic.tests.unit.objects.test_node.TestNodeObject.test_release [0.009677s] ... ok {8} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_notifs_disabled [0.011862s] ... ok {8} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_unpinned_conductor [0.008441s] ... ok {8} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_default [0.008552s] ... ok {8} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra [0.008625s] ... ok {8} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list_by_node_id [0.013321s] ... ok {8} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list [0.010416s] ... ok GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-1ca8f866-eeb2-4473-843f-bc7fd36eefc7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/96e377e3-dbc5-4655-a254-5ad58fa8b7c1 [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3b0f4671-6336-47af-b963-56e49dc774c3 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "96e377e3-dbc5-4655-a254-5ad58fa8b7c1", "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/96e377e3-dbc5-4655-a254-5ad58fa8b7c1", "rel": "self"}, {"href": "http://localhost/nodes/96e377e3-dbc5-4655-a254-5ad58fa8b7c1", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/96e377e3-dbc5-4655-a254-5ad58fa8b7c1/ports", "rel": "self"}, {"href": "http://localhost/nodes/96e377e3-dbc5-4655-a254-5ad58fa8b7c1/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/96e377e3-dbc5-4655-a254-5ad58fa8b7c1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/96e377e3-dbc5-4655-a254-5ad58fa8b7c1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/96e377e3-dbc5-4655-a254-5ad58fa8b7c1/volume", "rel": "self"}, {"href": "http://localhost/nodes/96e377e3-dbc5-4655-a254-5ad58fa8b7c1/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/96e377e3-dbc5-4655-a254-5ad58fa8b7c1/states", "rel": "self"}, {"href": "http://localhost/nodes/96e377e3-dbc5-4655-a254-5ad58fa8b7c1/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.674015+00:00"} PATCH: /v1/nodes/e373d6c3-2057-438b-b0af-4390144cf0f7 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-fd955a0d-9ef8-4a5b-a046-05efd9fa4f05 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.50 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot update owner of node \\\"e373d6c3-2057-438b-b0af-4390144cf0f7\\\" while it is allocated to an allocation with an owner.\", \"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-c0bdb601-cf4b-486d-8862-a28ee8955590 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': {}, '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-c94dee13-9984-4c24-b17f-3b657fb60b12 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.849113+00:00"}{11} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_resource_class [0.337179s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_delete [0.041771s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_valid_soft_ver [0.042149s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_invalid_timeout_invalid_soft_ver [0.042923s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_valid_soft_ver [0.042866s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_empty_password [0.044455s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_persistent [0.035506s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_get_all_traits [0.045382s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_by_node_name_not_supported [0.028994s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_using_query_false_and_fields [0.035335s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_non_admin_no_match [0.038597s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_many_non_admin [0.044710s] ... ok 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-e1489915-a79b-4d18-b05a-713d97836791 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:19.026663+00:00", "updated_at": "2021-01-19T06:02:19.065664+00:00"} 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-eadbe590-c2a8-470a-9039-e82bb820a643 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-8e48f4a9-a336-4e2e-9d6d-8f9ffc563158 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:19.160619+00:00", "updated_at": null} GET: /v1/portgroups/?fields=address,properties {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-40a73aa5-d9c2-4fac-9985-06a4360e8975 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c4e8ee87-d9f6-4a05-8b6a-dcd42a2a583b X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:19.224056+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-358eaa31-b7d8-4666-b2b8-fcadba96ad1f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:19.283048+00:00", "updated_at": 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-6dad4078-953f-419c-a751-64863be1829c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': '/address', 'value': 'AA:BB:CC:DD:EE:FF', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-674e96bb-d170-4f81-835d-79fc03b6d6de X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:19.375003+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-ed5e499f-cfd0-4c89-8e2e-c15d47e7a897 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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}{17} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup [1.596052s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_old_api_version [0.059798s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_node_not_found [0.023793s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_token [0.028855s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_route_checks_version [0.016926s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_path [0.020594s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_types.TestJsonType.test_invalid_values [0.005172s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_invalid_key [0.005608s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_missing_local_link_mandatory_key [0.005133s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_valid_mac_addr [0.005539s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_no_pin [0.005529s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail [0.009218s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_fail [0.005876s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties_fail [0.005735s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_custom_fields [0.039002s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_api_version [0.017431s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_node_uuid [0.027449s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_against_single [0.033143s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key [0.052141s] ... ok {17} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_multi [0.051946s] ... ok /usr/lib/python3.6/site-packages/oslo_serialization/jsonutils.py:180: UserWarning: Cannot convert to primitive, will raise ValueError instead of warning in version 3.0 "instead of warning in version 3.0" % (value,)) 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. 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-a84da922-b32e-428e-b0dd-c5216f96470d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:23.254715+00:00", "updated_at": "2021-01-19T06:02:23.257897+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-d02b0ef6-1e56-4385-af6c-afdb6457c18f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:23.254715+00:00", "updated_at": "2021-01-19T06:02:23.257897+00:00"} GET: /v1/volume/targets?fields=boot_index&limit=2 {} GOT:{'targets': [{'boot_index': 0, 'links': [{'href': 'http://localhost/v1/volume/targets/533b4a32-8215-4106-b51e-a50063d79156', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/533b4a32-8215-4106-b51e-a50063d79156', 'rel': 'bookmark'}]}, {'boot_index': 1, 'links': [{'href': 'http://localhost/v1/volume/targets/892a4387-7574-4b29-b933-9e5bfb092592', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/892a4387-7574-4b29-b933-9e5bfb092592', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/targets?sort_key=id&sort_dir=asc&fields=boot_index&limit=2&marker=892a4387-7574-4b29-b933-9e5bfb092592'} 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-89957656-3d65-4786-a6e6-19d2edc2bfa6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5d00668b-dfc0-4468-9792-58395c6870e0 {"error_message": "{\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} func1() migrated 15 of 15 objects. func2() migrated 20 of 20 objects. Node(allocation_id=None,automated_clean=None,bios_interface='fake',boot_interface='ipxe',chassis_id=None,clean_step={},conductor_affinity=None,conductor_group='',console_enabled=False,console_interface='fake',created_at=2021-01-19T06:02:36Z,deploy_interface='fake',deploy_step={},description=None,driver='fake-hardware',driver_info={'deploy_kernel': 'glance://deploy_kernel_uuid', 'deploy_ramdisk': 'glance://deploy_ramdisk_uuid', 'rescue_kernel': 'glance://rescue_kernel_uuid', 'rescue_ramdisk': 'glance://rescue_ramdisk_uuid'},driver_internal_info={'is_whole_disk_image': False},extra={},fault=None,id=1,inspect_interface='fake',inspection_finished_at=None,inspection_started_at=None,instance_info={'boot_iso': 'http://1.2.3.4:1234/boot.iso', 'capabilities': {'boot_option': 'ramdisk'}},instance_uuid=None,last_error=None,lessee=None,maintenance=False,maintenance_reason=None,management_interface='fake',name=None,network_data={},network_interface='flat',owner=None,power_interface='fake',power_state=None,properties={'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'},protected=False,protected_reason=None,provision_state='deploying',provision_updated_at=2021-01-19T06:02:36Z,raid_config={},raid_interface='fake',rescue_interface='fake',reservation='fake-mini',resource_class=None,retired=False,retired_reason=None,storage_interface='noop',target_power_state=None,target_provision_state=None,target_raid_config={},traits=TraitList,updated_at=2021-01-19T06:02:36Z,uuid=1be26c0b-03f2-4d2e-ae87-c02d7f33c123,vendor_interface='no-vendor') 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': '2021-01-19T06:02:18.725539+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': '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-08300298-4e74-42c6-b6e8-a2323dce02ad X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:18.815996+00:00", "updated_at": null} GET: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-149a9a1c-18fa-41ae-96d6-2e0d549504e3 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} GET: /v1/portgroups {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-874f9c7a-c91f-482d-b640-361ffdff10d2 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/b0093339-a1bf-4ece-97c7-3018777d74a5/ports {} GOT:{'ports': [{'uuid': '9e310725-48a8-46b4-be94-a62358e3d9cf', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/9e310725-48a8-46b4-be94-a62358e3d9cf', 'rel': 'self'}, {'href': 'http://localhost/ports/9e310725-48a8-46b4-be94-a62358e3d9cf', 'rel': 'bookmark'}]}, {'uuid': '86793af1-a779-43dd-b8d1-e94a08f4b899', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/86793af1-a779-43dd-b8d1-e94a08f4b899', 'rel': 'self'}, {'href': 'http://localhost/ports/86793af1-a779-43dd-b8d1-e94a08f4b899', 'rel': 'bookmark'}]}]} GET: /v1/portgroups/b0093339-a1bf-4ece-97c7-3018777d74a5/ports/detail {} GOT:{'ports': [{'uuid': '9e310725-48a8-46b4-be94-a62358e3d9cf', 'address': '52:54:00:cf:2d:30', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': 'b0093339-a1bf-4ece-97c7-3018777d74a5', '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/9e310725-48a8-46b4-be94-a62358e3d9cf', 'rel': 'self'}, {'href': 'http://localhost/ports/9e310725-48a8-46b4-be94-a62358e3d9cf', 'rel': 'bookmark'}], 'is_smartnic': False, 'created_at': '2021-01-19T06:02:18.931813+00:00', 'updated_at': None}, {'uuid': '86793af1-a779-43dd-b8d1-e94a08f4b899', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'internal_info': {'bar': 'buzz'}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'portgroup_uuid': 'b0093339-a1bf-4ece-97c7-3018777d74a5', '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/86793af1-a779-43dd-b8d1-e94a08f4b899', 'rel': 'self'}, {'href': 'http://localhost/ports/86793af1-a779-43dd-b8d1-e94a08f4b899', 'rel': 'bookmark'}], 'is_smartnic': False, 'created_at': '2021-01-19T06:02:18.933518+00:00', 'updated_at': None}]} GET: /v1/portgroups/b0093339-a1bf-4ece-97c7-3018777d74a5/ports?limit=1 {} GOT:{'ports': [{'uuid': '9e310725-48a8-46b4-be94-a62358e3d9cf', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/9e310725-48a8-46b4-be94-a62358e3d9cf', 'rel': 'self'}, {'href': 'http://localhost/ports/9e310725-48a8-46b4-be94-a62358e3d9cf', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=1&marker=9e310725-48a8-46b4-be94-a62358e3d9cf'} GET: /v1/portgroups/b0093339-a1bf-4ece-97c7-3018777d74a5/ports/5bcc68de-ff6f-4630-8d30-4622f8baeea7 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} GET: /v1/portgroups/b0093339-a1bf-4ece-97c7-3018777d74a5/ports/3b53ee3d-1430-4b65-bd26-5416acfdce73 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-919d5a32-d398-4bcd-9e80-0d9f20654d44 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"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-ccceb6be-552b-4d58-88f4-a53a7497adf1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/uuid' is an internal attribute and can not be updated\", \"debuginfo\": 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-de19b46d-16db-482f-b468-bb90e2ae757a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:19.118362+00:00", "updated_at": null} 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-625f1283-0b88-423c-bb23-b6210d9b96c0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:19.182481+00:00", "updated_at": "2021-01-19T06:02:19.219019+00:00"}{12} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_remove_extra_vif_port_id [2.093838s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_smart_nic_keys_mandatory [0.006168s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_types.TestUuidType.test_valid_uuid [0.005447s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_subpath_success [0.004923s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_alloc_policy_and_retrieve_no_alloc_policy_forbidden [0.007961s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_node_policy_and_retrieve [0.007001s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_dynamic_drivers [0.005435s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inspect_abort [0.005615s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_links_node_states_and_driver_properties [0.005345s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_remove_chassis_uuid [0.005613s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_invalid_power_state [0.043789s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_empty [0.033203s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_id [0.036468s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_api_version [0.019095s] ... ok {12} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_node_uuid [0.027876s] ... ok {12} ironic.tests.unit.api.test_args.TestArgs.test_args_from_body [0.005104s] ... ok {12} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request [0.014848s] ... ok {12} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault [0.017515s] ... ok {12} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_options_request [0.016778s] ... ok {12} ironic.tests.unit.api.test_types.TestTypes.test_validate_string_type_precompile [0.005464s] ... ok {12} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_none [0.017252s] ... ok {12} ironic.tests.unit.common.test_context.RequestContextTestCase.test_to_policy_values [0.005300s] ... ok {12} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task [0.043703s] ... ok {12} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpforbidden_converts_to_imagenotauthed [0.005927s] ... ok {12} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_with_suffix [0.008580s] ... ok {12} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_mkfs_fails [0.009407s] ... ok {12} ironic.tests.unit.common.test_json_rpc.TestClient.test_cast_success [0.010684s] ... ok {12} ironic.tests.unit.common.test_json_rpc.TestService.test_missing_argument [0.016096s] ... ok {12} ironic.tests.unit.common.test_json_rpc.TestService.test_success [0.015538s] ... ok {12} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_exclude_port_no_id [0.046553s] ... ok {12} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_local_group_information [0.042054s] ... ok {12} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_up [0.014641s] ... ok {12} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_without_binding [0.008170s] ... ok {12} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_local_boot [0.048995s] ... ok {12} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_ramdisk [0.012820s] ... ok {12} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_iso [0.029308s] ... ok {12} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_script [0.956777s] ... ok {12} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_with_trailing_slash [0.016050s] ... ok {12} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config [0.015976s] ... ok {12} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_additional_property [0.016820s] ... ok {12} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_number_of_phy_disks [0.012678s] ... ok {12} ironic.tests.unit.common.test_swift.SwiftTestCase.test___init__ [0.043523s] ... ok {12} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_differ [0.008532s] ... ok {12} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities [0.005447s] ... ok {12} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_invalid_capabilities [0.005315s] ... ok {12} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_without_node [0.017157s] ... ok {12} ironic.tests.unit.conductor.test_base_manager.ManagerSpawnWorkerTestCase.test__spawn_worker_none_free [0.005899s] ... ok {12} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_missing_driver [0.010574s] ... ok {12} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort_with_step_name [0.054506s] ... ok {12} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios [0.059487s] ... ok {12} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_wait [0.058625s] ... ok {12} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_network_validate_fail [0.070871s] ... ok {12} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_node_locked [0.025742s] ... ok {12} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_enabled [1.248132s] ... ok {12} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_wrong_state [0.132373s] ... ok {12} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_disable_fail [0.164435s] ... ok {12} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_with_allocation [0.067089s] ... ok {12} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_port_unbound [0.048826s] ... ok {12} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_bound [0.045946s] ... ok {12} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_do_provisioning_action_adopt_node [0.144165s] ... ok {12} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_required_agent_token [0.156698s] ... ok {12} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort [0.357496s] ... ok {12} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_no_skip_step [0.159043s] ... ok {12} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_locked [0.020091s] ... ok {12} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_timeout [0.013721s] ... ok {12} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync_failed [0.019043s] ... ok {12} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_worker_pool_full [0.154122s] ... ok {12} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits [0.084840s] ... ok {12} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_empty [0.065261s] ... ok {12} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation_forbidden [0.052913s] ... ok {12} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_set [0.077825s] ... ok {12} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_missing_method_parameters [0.150230s] ... ok {12} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification [0.015916s] ... ok {12} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_state_corrected_notification [0.016172s] ... ok {12} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_unrescue [0.012557s] ... ok {12} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_serialized_instance_has_uuid [0.009502s] ... ok {12} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_skip_missing [0.047332s] ... ok {12} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_user_and_driver_steps [0.045702s] ... ok {12} ironic.tests.unit.conductor.test_steps.ValidateDeployTemplatesTestCase.test_error [0.042489s] ... ok {12} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_error_state [0.007250s] ... ok {12} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_fsm_raises [0.010182s] ... ok {12} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock [0.019715s] ... ok {12} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error [0.006297s] ... ok {12} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_provision_error_handler_no_worker [0.014038s] ... ok {12} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_config_false [0.043726s] ... ok {12} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_power_off_false [0.043248s] ... ok {12} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_empty_instance_traits [0.006295s] ... ok {12} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_1 [0.204175s] ... ok {12} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_duplicated_name [0.018066s] ... ok {12} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_node_already_associated [0.033449s] ... ok {12} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_emptyDB [0.153034s] ... ok {12} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_by_id [0.011903s] ... ok {12} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_duplicate_uuid [0.012857s] ... ok {12} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names_no_match [0.019123s] ... ok {12} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags [0.028168s] ... ok {12} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_node_not_exist [0.015262s] ... ok {12} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list_impossible [0.011622s] ... ok {12} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_traits [0.008358s] ... ok {12} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses_not_found [0.032525s] ... ok {12} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_that_does_not_exist [0.024886s] ... ok {12} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node_by_uuid [0.026149s] ... ok {12} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_non_existent_node [0.039044s] ... ok {12} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node_by_uuid [0.035647s] ... ok {12} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_name [0.016490s] ... ok {12} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid_that_does_not_exist [0.015103s] ... ok {12} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_not_found [1.181397s] ... ok {12} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_project [0.029982s] ... ok {12} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_duplicated_address [0.020530s] ... ok {12} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_ipv6 [0.017567s] ... ok {12} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_fails [0.048871s] ... ok {12} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy [0.062581s] ... ok {12} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test__ansible_deploy_iwdi [0.057123s] ... ok {12} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_cleaning_callback_no_steps [0.044980s] ... ok {12} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_configdrive_file [0.059867s] ... ok {12} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_get_job [0.015555s] ... ok {12} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs [0.015965s] ... ok {12} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_with_empty_boot_mode_list [0.018079s] ... ok {12} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_supported_boot_devices [0.039301s] ... ok {12} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_reset_idrac [0.045593s] ... ok {12} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_more_than_actual_size [0.040011s] ... ok {12} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_physical_disks [0.017084s] ... ok {12} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers_fail [0.016582s] ... ok {12} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_not_enough_space [0.071959s] ... ok {12} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_validate [0.037873s] ... ok {12} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_success [0.063194s] ... ok {12} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_list_raid_controller [0.041204s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_cleaning [0.068812s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_cleaning [0.044890s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_deploying [0.062169s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_get_properties [0.042088s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_validate [0.055203s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_exception [0.045819s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_bios [0.046260s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_boot_from_volume [0.045719s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.068573s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.055989s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc [0.059615s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_web_server [0.017134s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_secure_boot_mode_passed_false [0.045650s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_boolean_true [0.015526s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_http_based_fw_to_downloads_the_fw_file [0.019449s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_img_loc_sets_these_attributes [0.006201s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum [0.006002s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_power_off [0.065870s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_ok [0.020646s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_without_auth [0.065071s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_deploy [0.072116s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__get_power_state [0.019914s] ... ok {12} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_deploying [0.073906s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_factory_reset [0.053500s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_fail [0.074571s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_without_boot_iso_ok [0.023237s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.098021s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [1.167033s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_with_secure_boot [0.058834s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_without_secure_boot [0.072712s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_remote_image_share_type_values [0.016826s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_netmask [0.087292s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_gpu_ids_input [0.016290s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_scci_ng [0.055164s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_50 [0.015944s] ... ok {12} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_duplicated_physical_disks [0.044283s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_first [0.057657s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_physnet_match_first2 [0.060013s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_fail [0.059141s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_noportgroup [0.139048s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_address_fail [0.055401s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_remove_address [0.050229s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_noports [0.050239s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_nopxe_ports [0.053522s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node [0.068473s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_provisioning [0.051427s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network [0.056497s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_true [0.049522s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_current_vif [0.052223s] ... ok {12} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_attach [0.049107s] ... ok {12} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying_failed [0.080588s] ... ok {12} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_deploying [0.086761s] ... ok {12} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__insert_vmedia_already_inserted [0.040026s] ... ok {12} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_instance_ramdisk_boot [0.094953s] ... ok {12} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_memory_mb [0.040917s] ... ok {12} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_task_monitor_not_found [0.066229s] ... ok {12} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_ensure_new_session_username [0.041510s] ... ok {12} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_connection_error_retry [0.239288s] ... ok {12} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_address [0.015837s] ... ok {12} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_capath [0.016260s] ... ok {12} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_multiple_fc_wwns [0.052083s] ... ok {12} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_volumes_no_volumes [0.057286s] ... ok {12} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_validate_fails_with_ipxe_not_enabled [0.057312s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final [0.058606s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_power_on [0.060066s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_storage_should_write_image_with_smartnic [0.054726s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_with_smartnic_port [0.099400s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_no_proxy_without_proxies [0.062120s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_clean_version_mismatch_fail [0.060680s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_manual_clean_version_mismatch [0.070199s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_old_command [0.055969s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue [0.056698s] ... ok {12} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_not_in_core_deploy_step [0.966827s] ... ok {12} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_forced_kill [0.817489s] ... ok {12} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_range_retry [0.014141s] ... ok {12} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp_with_address_conf [0.009503s] ... ok {12} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file [0.008442s] ... ok {12} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_default_ipv4 [0.019856s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_other_arch [0.008748s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file_uefi [0.012349s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_bios_without_by_arch [0.008543s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_gb [0.013587s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_invalid_type [0.005905s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info [0.005646s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_pxe_config_partition_image [0.006591s] ... ok {12} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot [0.055506s] ... ok {12} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_out_of_date [0.011864s] ... ok {12} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_master [0.007370s] ... ok {12} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_default_boot_mode [0.036811s] ... ok {12} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_kernel_params [0.036987s] ... ok {12} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_cleanup_floppy_image [0.040138s] ... ok {12} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_attempts_port_creation_blindly [0.093642s] ... ok {12} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist_mac_exception [0.049622s] ... ok {12} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_override [0.015445s] ... ok {12} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_properties [0.014695s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls [0.009152s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__allocate_port [0.058684s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_fail [0.047818s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_bmc_reset_warm [0.136902s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_cold_good [0.047540s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_dual_bridging [0.021981s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite [0.016547s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_not_supported [0.016900s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_timeout [0.029514s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_node_busy [0.028673s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port [0.056386s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_cleaning [0.097504s] ... ok {12} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_trusted_boot_with_secure_boot [0.039825s] ... ok {12} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_execute_clean_step [0.045580s] ... ok {12} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_instance_boot_localboot [0.069324s] ... ok {12} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_not_specified [0.014969s] ... ok {12} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_invalid_root_device_hints_iinfo [0.038507s] ... ok {12} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_preserve_ephemeral [0.012823s] ... ok {12} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_with_cpu_arch [0.012334s] ... ok {12} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_without_swap [0.012192s] ... ok {12} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_login_iscsi_calls_raises [0.021836s] ... ok {12} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk [0.059460s] ... ok {12} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_bool_false [0.098725s] ... ok {12} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good_whole_disk_image [1.188854s] ... ok {12} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.057791s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_reset [0.020282s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_off [0.015949s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_state_off [0.011845s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_get_failure [0.015316s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_on [0.011811s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-4c350093-d724-4f7a-8006-40c3f0024935 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.284798+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': {'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': '2021-01-19T06:02:18.284798+00:00'} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-6546b641-b164-45f8-8f47-6f757cb52c38 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': 'inspect'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a607900b-0e2b-4633-96fc-dc0d59e4117d X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/power {'target': 'power on', 'timeout': 0} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e2af0596-afea-4832-b370-0ded85cdcdc1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': 'soft power off', 'timeout': 2} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-659d2967-975b-4e93-b2aa-3db8ffcb132c X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/node-39/states/provision {'target': 'active'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-d67e09d0-d8ca-4dc5-8278-e681caf565d4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/raid {'logical_disks': [{'size_gb': 100, 'raid_level': 1}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-680ea3ca-ff42-45a8-bfe1-bea8496a82ed X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/management/boot_device?persistent=blah {'boot_device': 'pxe'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0e455d2f-41d3-4df1-b606-0151a61eb2f0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/maintenance {} GOT:Response: 202 Accepted Openstack-Request-Id: req-0ad618e4-bd52-4088-a8cd-cbcbfc29daff X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-2971cb21-1db4-4319-bd3c-93f6062b9d6a X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} DELETE: /v1/nodes/node-39/traits/CUSTOM_12 GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-2bc2b037-b866-4ad5-8818-3c53cf135229 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/badname/traits {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-49a82579-04a6-4e7f-b457-aa84563e07b6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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'}]}]}{15} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_query_false [2.053659s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin [0.050390s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_extra_vif_port_id_diff_internal [0.053078s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_physical_network [0.054978s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_multi [0.080389s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_physical_network_old_api_version [0.042442s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid [0.052941s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove_add [0.054917s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_set_pxe_enabled_false_old_api [0.036844s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_error [0.047267s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_none [0.009715s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_not_allow [0.007254s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_allow [0.007058s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_snmp_failure [0.046848s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc [0.009665s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_default_proto [0.009154s] ... ok {12} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_short_key [0.009927s] ... ok {12} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_hardware_id [0.014684s] ... ok {12} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_supported_boot_devices [0.049715s] ... 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': '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-ee836acd-e5f3-4e31-bfe1-f61546e67673 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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'} 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-3a53119c-9c84-4f25-a5b5-ce26077132be X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': {}, '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-853a647d-50b0-4ef7-91d8-a7696432d3dd X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:22.500431+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': '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': '2021-01-19T06:02:22.500431+00:00'} 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-06b009a8-0d80-40f2-b428-47a7b4b232d7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/provision {'target': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}]}{3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_clean [1.501216s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_valid_timeout_no_ver [0.048733s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_configdrive_not_active [0.047517s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_mode_disabled [0.046099s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode [0.035261s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_allowed [0.053059s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_sort_key_not_allowed [0.028020s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_non_admin_no_match [0.038528s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_list_with_deleted_node [0.035364s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_port_by_address_non_admin [0.046529s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type_old_api [0.040850s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network_old_api_version [0.047648s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_address_already_exist [0.047539s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_missing_hostname [0.041009s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_pxe_enabled_old_api_version [0.038543s] ... ok {12} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state [0.047524s] ... ok {12} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_no_target_raid_config [0.007849s] ... ok {12} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate_raid_config [0.007417s] ... ok {12} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_get_properties [0.043178s] ... ok {12} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_fail [0.042037s] ... 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': 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-50e94710-50b0-4a8e-8147-fbb12759d929 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:19.091637+00:00", "updated_at": null} DELETE: /v1/portgroups/blah GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-28d7282a-5b16-410d-a538-8a9d75698d33 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup blah could not be found.\", \"debuginfo\": null}"} GET: /v1/portgroups?node=test-node {} GOT:{'portgroups': [{'uuid': '3c7ea069-7154-44ca-9554-fce5b97154d3', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/3c7ea069-7154-44ca-9554-fce5b97154d3', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3c7ea069-7154-44ca-9554-fce5b97154d3', 'rel': 'bookmark'}]}, {'uuid': '7e1e594a-f834-4bb0-b79f-03552530d76f', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/7e1e594a-f834-4bb0-b79f-03552530d76f', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7e1e594a-f834-4bb0-b79f-03552530d76f', 'rel': 'bookmark'}]}, {'uuid': '35014bc5-82c0-4a65-8400-5285786b178c', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/35014bc5-82c0-4a65-8400-5285786b178c', 'rel': 'self'}, {'href': 'http://localhost/portgroups/35014bc5-82c0-4a65-8400-5285786b178c', 'rel': 'bookmark'}]}]} 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.\"}"} GET: /v1/lookup?node_uuid=27eb3cd1-1f52-43d4-a109-7afa738b3d96 {} GOT:{'node': {'uuid': '27eb3cd1-1f52-43d4-a109-7afa738b3d96', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value', 'agent_secret_token': '******'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'links': [{'href': 'http://localhost/v1/nodes/27eb3cd1-1f52-43d4-a109-7afa738b3d96', 'rel': 'self'}, {'href': 'http://localhost/nodes/27eb3cd1-1f52-43d4-a109-7afa738b3d96', '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, 'agent_token': 'xyzabc', 'agent_token_required': True}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=9ad00dfd-99bf-43a4-8246-b45e8d3a085d {} GOT:{'node': {'uuid': '9ad00dfd-99bf-43a4-8246-b45e8d3a085d', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value', 'agent_secret_token': '******'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'links': [{'href': 'http://localhost/v1/nodes/9ad00dfd-99bf-43a4-8246-b45e8d3a085d', 'rel': 'self'}, {'href': 'http://localhost/nodes/9ad00dfd-99bf-43a4-8246-b45e8d3a085d', '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, 'agent_token': '234567890', 'agent_token_required': True}} GET: /v1/volume/connectors {} GOT:{'connectors': [{'uuid': '66d0debe-0787-4225-a46e-d38509e6f103', 'type': 'iqn', 'connector_id': 'test-connector_id-0', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/66d0debe-0787-4225-a46e-d38509e6f103', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/66d0debe-0787-4225-a46e-d38509e6f103', 'rel': 'bookmark'}]}, {'uuid': 'c1132648-9fdc-43f2-8ab3-72832e320f51', 'type': 'iqn', 'connector_id': 'test-connector_id-1', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/c1132648-9fdc-43f2-8ab3-72832e320f51', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/c1132648-9fdc-43f2-8ab3-72832e320f51', 'rel': 'bookmark'}]}, {'uuid': '9de988db-5893-4adb-9973-ee7f80d727b6', 'type': 'iqn', 'connector_id': 'test-connector_id-2', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/9de988db-5893-4adb-9973-ee7f80d727b6', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/9de988db-5893-4adb-9973-ee7f80d727b6', 'rel': 'bookmark'}]}, {'uuid': 'a73dc15c-48a4-4ac7-ad20-bdf26b52fe9b', 'type': 'iqn', 'connector_id': 'test-connector_id-3', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/a73dc15c-48a4-4ac7-ad20-bdf26b52fe9b', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/a73dc15c-48a4-4ac7-ad20-bdf26b52fe9b', 'rel': 'bookmark'}]}, {'uuid': '3a5439d7-eebc-4f8e-bc50-c5abd6890e69', 'type': 'iqn', 'connector_id': 'test-connector_id-4', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/3a5439d7-eebc-4f8e-bc50-c5abd6890e69', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/3a5439d7-eebc-4f8e-bc50-c5abd6890e69', 'rel': 'bookmark'}]}]} 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-b2fd647e-dba5-4af0-90b8-0dbf50324f2d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:19.536763+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': {'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': '2021-01-19T06:02:19.536763+00:00', 'updated_at': None}{10} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_doesnt_contain_id [3.253913s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_by_node_name_ok [0.044792s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_id [0.036425s] ... ok {10} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_not_found [0.032839s] ... ok {10} ironic.tests.unit.api.test_args.TestArgs.test_args_from_params [0.005421s] ... ok {10} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_get_arg [0.004736s] ... ok {10} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_disable [0.021882s] ... ok {10} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_authenticated [0.026926s] ... ok {10} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_public_unauthenticated [0.016837s] ... ok {10} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_32_root [0.017376s] ... ok {10} ironic.tests.unit.api.test_types.TestTypes.test_non_registered_complex_type [0.005381s] ... ok {10} ironic.tests.unit.api.test_types.TestTypes.test_register_invalid_dict [0.005177s] ... ok {10} ironic.tests.unit.api.test_types.TestTypes.test_text_attribute_conversion [0.006355s] ... ok {10} ironic.tests.unit.api.test_types.TestTypes.test_validate_list_invalid_type [0.004988s] ... ok {10} ironic.tests.unit.api.test_types.TestTypes.test_wsproperty [0.005928s] ... ok {10} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_with_options [0.009547s] ... ok {10} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_initialize_connection_failure [0.051407s] ... ok {10} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__create_metadata_dictionary [0.018878s] ... ok {10} ironic.tests.unit.common.test_context.RequestContextTestCase.test_get_admin_context [0.005356s] ... ok {10} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_load_error_if_driver_enabled [0.009207s] ... ok {10} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_calculated_defaults [0.037229s] ... ok {10} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_fake [0.041771s] ... ok {10} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_storage_interface [0.010634s] ... ok {10} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_supported [0.006438s] ... ok {10} ironic.tests.unit.common.test_fsm.FSMTest.test__validate_target_state [0.008357s] ... ok {10} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_passes_through_to_client [0.006259s] ... ok {10} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_config [0.005419s] ... ok {10} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_invalid_image_info [0.006797s] ... ok {10} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success [0.029926s] ... ok {10} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_for_uefi_with_esp_image [0.013835s] ... ok {10} ironic.tests.unit.common.test_json_rpc.TestService.test_http_basic [0.019989s] ... ok {10} ironic.tests.unit.common.test_json_rpc.TestService.test_http_basic_not_authenticated [0.016652s] ... ok {10} ironic.tests.unit.common.test_network.GetPortgroupByIdTestCase.test_portgroup_by_id [0.047131s] ... ok {10} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_int_info [0.047401s] ... ok {10} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_missing [0.006504s] ... ok {10} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_all_ports [0.058315s] ... ok {12} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_shellinabox [0.044771s] ... ok {10} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface [0.034509s] ... ok {10} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_less_than_configured [0.016392s] ... ok {10} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port [1.405163s] ... ok {10} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_unbind_port_failed [0.008486s] ... ok {10} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_uuid [0.006574s] ... ok {10} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_admin_api [0.010008s] ... ok {10} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_cache_ramdisk_kernel_ipxe [0.039795s] ... ok {10} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_deploy [0.013647s] ... ok {10} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_with_trailing_slash [0.012623s] ... ok {10} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_clean_up_ipxe_config_uefi [0.046519s] ... ok {10} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_share_physical_disks [0.010088s] ... ok {10} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_raid_level [0.007737s] ... ok {10} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_size_gb [0.007992s] ... ok {10} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_contains_all_db_objects [0.005395s] ... ok {10} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_rpc_version [0.005246s] ... ok {10} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity_empty_base [0.006101s] ... ok {10} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object [0.036788s] ... ok {10} ironic.tests.unit.common.test_swift.SwiftTestCase.test_delete_object_exc [0.034833s] ... ok {10} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_negative_setting [0.024990s] ... ok {10} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_traits_mismatch [0.069487s] ... ok {10} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_conductor [0.111065s] ... ok {10} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_warning_on_low_workers_pool [0.115197s] ... ok {10} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_execute_fail [0.083108s] ... ok {10} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_power_validate_fail [0.077932s] ... ok {10} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_last_step [0.075680s] ... ok {10} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_all [0.375476s] ... ok {10} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_steps_validation [0.165752s] ... ok {10} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port [0.048212s] ... ok {10} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_state [0.043636s] ... ok {10} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated [0.147382s] ... ok {10} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_unrescue_bad_state [0.154884s] ... ok {10} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_invalid_state [0.163269s] ... ok {10} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_maintenance [0.046853s] ... ok {10} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_ok_with_console [0.176613s] ... ok {10} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify_validation_fails [0.147000s] ... ok {10} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exiting_no_worker_avail [0.015495s] ... ok {10} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync_notify [0.063983s] ... ok {10} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_unchanged [0.017121s] ... ok {10} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_single_node [0.013838s] ... ok {10} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_ipmi [0.093160s] ... ok {10} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_get_raid_logical_disk_properties_iface_not_supported [0.014272s] ... ok {10} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_raise [0.008719s] ... ok {10} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_associate_node_powered_on [0.050059s] ... ok {10} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_unset [0.145074s] ... ok {10} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_maintenance [0.055570s] ... ok {10} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_conflict [0.049781s] ... ok {10} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_failure [0.052946s] ... ok {10} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach [0.045461s] ... ok {10} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_network_error [0.049004s] ... ok {10} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach [0.047450s] ... ok {10} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_port [0.013857s] ... ok {10} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_for_driver_doesnt_cache [0.023658s] ... ok /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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) {10} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inspect_hardware [0.013953s] ... ok {10} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions_invalid_version [0.011936s] ... ok {10} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_attach [0.013507s] ... ok {10} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps [0.052267s] ... ok {10} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates_no_traits [0.050940s] ... ok {10} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_target_state [0.010972s] ... ok {10} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_portgroups_exception [0.028112s] ... ok {10} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_nested_acquire [0.038744s] ... ok {10} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook_exception [0.027825s] ... ok {10} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_power_state_error_handler_no_worker [0.014941s] ... ok {10} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_cleaning_error_handler_other_error [0.017780s] ... ok {10} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__calculate_target_state [0.009070s] ... ok {10} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_adopting [0.043041s] ... ok {10} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_2 [0.046603s] ... ok {10} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation [0.019704s] ... ok {10} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list [0.025284s] ... ok {10} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_delete_bios_setting_list_setting_not_exist [0.022221s] ... ok {10} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_online_conductors [0.015949s] ... ok {10} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_node_tag_exists [0.022906s] ... ok {10} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_over_limit [0.343302s] ... ok {10} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_over_limit [0.018301s] ... ok {12} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_boot_configuration [0.052477s] ... ok {10} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_ports_get_destroyed_after_destroying_a_node [0.025162s] ... ok {10} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reserve_node [0.042692s] ... ok {10} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_associate_and_disassociate [0.029652s] ... ok {10} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_not_found [0.013217s] ... ok {10} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_tags [0.026201s] ... ok {10} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node [0.025224s] ... ok {10} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_target_gets_destroyed_after_destroying_a_node_uuid [0.029535s] ... ok {10} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address [0.017780s] ... ok {10} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner_no_match [0.017802s] ... ok {10} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_project [0.017893s] ... ok {10} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port [0.018641s] ... ok {10} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_uuid [0.018654s] ... ok {10} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_duplicated_type_connector_id [0.019888s] ... ok {10} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_targets_by_volume_id_that_does_not_exist [0.017176s] ... ok {10} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address [0.018634s] ... ok {10} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp [0.051017s] ... ok {10} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_all_gpt [0.029602s] ... ok {10} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__validate_clean_steps_names_not_unique [0.015065s] ... ok {10} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config_fail [1.485637s] ... ok {10} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_clean [0.058550s] ... ok {10} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode [0.017566s] ... ok {10} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed_in_clean [0.087338s] ... ok {10} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_2_disk_and_raid_level_1 [0.026306s] ... ok {10} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_with_delete [0.076571s] ... ok {10} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.014521s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_invalid_parameter [0.036943s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.053990s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_ramdisk [0.042765s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_webserver_exc [0.058168s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_list [0.014698s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_username [0.013423s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_gets_invoked_for_file_based_firmware [0.006146s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_swift [0.022223s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_exist_ok [0.065294s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_erase_pattern [0.045527s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_mode [0.052259s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_clean [0.051540s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_cleaning [0.077070s] ... ok {10} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_ilo_error_cleaning [0.071704s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_cd_ok [0.047888s] ... ok /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: 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) 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. {10} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_floppy_image_name [0.015189s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_active [0.074152s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_bool_true [0.090739s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.093298s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance [0.058807s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.061569s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_rescuing [0.086032s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_invalid_physical_id_in_lan_port [0.098648s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_boot.IsImageHrefOrdinaryFileNameTestCase.test_is_image_href_ordinary_file_name_false [0.006779s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_port [0.016031s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_security [0.015895s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_inspect_exception [0.105420s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_bios [0.205275s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_raid_config [0.023451s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_power_off [0.068072s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_timeout [0.072237s] ... ok {10} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state_timeout [0.048040s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron_missed [0.049482s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_nopxe_portgroup_standalone_ports [0.137576s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_vif_nopxe_ports [0.052293s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_update_port_exception [0.054185s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_internal_info [0.053884s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_attach [0.049257s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network [0.054661s] ... ok {10} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_detach [0.046741s] ... ok {10} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_validate [0.037574s] ... ok {10} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_loading_error [0.015349s] ... ok {10} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_deploy [0.038556s] ... ok {10} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_bios_boot [0.039287s] ... ok {10} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_boot_mode [0.051597s] ... ok {10} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_boot_mode [0.036261s] ... ok {10} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistence_fallback [0.108505s] ... ok {10} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail_on_power_on [0.074936s] ... ok {10} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_on [0.047205s] ... ok {10} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_not_reached [0.047800s] ... ok {10} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_ensure_basic_session_caching [0.043438s] ... ok {10} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_valid_auth_type [0.019050s] ... ok {10} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_when_fc_connectors_unequal [0.249611s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__delete_configuration_final_registered [0.066004s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy [0.059310s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_localboot_ppc64 [0.070207s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_storage_write_false [0.087992s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_no_capabilities_overwrite [0.110488s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_storage_should_write_image_false [0.042695s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_image_source_is_url [0.061671s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_fail [0.050823s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning [0.066501s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean [0.070347s] ... ok {12} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_raid_configuration [0.048751s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_poll [0.007998s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url_fail [0.006597s] ... ok {10} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image_with_wait [0.006494s] ... ok {10} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console [0.010248s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_manage_boot_false [0.060841s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_vif_port_id [0.044006s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_default_value [0.013821s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_software_raid [0.014990s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_is_software_raid_false [0.013042s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state [0.184261s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_invalid [0.006753s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_image_not_found [0.058088s] ... ok {10} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_image [0.062865s] ... ok {10} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_files_with_links_untouched [0.009191s] ... ok {10} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_both_master_and_dest_out_of_date [0.013508s] ... ok {10} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img [0.010975s] ... ok {10} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_no_updated_at [0.011270s] ... ok {10} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_finished [0.019364s] ... ok {10} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_not_inspector [0.018609s] ... ok {10} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_require_managed_boot [0.018633s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_ok [0.051950s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_driver_routes [0.041258s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__parse_driver_info_fail [0.047310s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_check_exit_code [0.019467s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timeout [0.020021s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_username [0.020405s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_bmc_initialization_in_progress [0.021357s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_empty_password [0.064558s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_instance [0.050942s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot_with_fallback [0.073767s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_true [0.101702s] ... ok {10} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_inspection [0.052015s] ... ok {10} ironic.tests.unit.drivers.modules.test_iscsi_deploy.CleanUpFullFlowTestCase.test_clean_up_with_master [0.047926s] ... ok {10} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_disk_label [0.016671s] ... ok {10} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_ipv6_address_wrapped [0.010251s] ... ok {10} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot [0.072788s] ... ok {10} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.085828s] ... ok {10} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_image_doesnt_exists [0.042047s] ... ok {10} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_validate_interface_mismatch [0.058865s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v1_write [0.050907s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_auth_v3 [0.047142s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get [0.047837s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_off [0.011321s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_state_on [0.010444s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_off [0.010692s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_on [0.011202s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_invalid_state [0.013681s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_timeout [0.012523s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_off [0.010383s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_on [0.052016s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off [0.048686s] ... ok {10} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_read_community [0.009921s] ... ok {12} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append [0.055730s] ... ok {10} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_false [0.060040s] ... ok {10} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_uuid [0.010499s] ... ok {10} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_list [0.009815s] ... ok {10} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test__repr__includes_default_function_name_and_source_hash [0.006527s] ... ok {10} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_non_default [1.452306s] ... ok {10} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_missing [0.009197s] ... ok {10} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_remove [0.008859s] ... ok {10} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_unsupported_unset [0.012148s] ... ok {10} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_non_default [0.008974s] ... ok {10} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_two [0.005597s] ... ok {10} ironic.tests.unit.objects.test_objects.TestObject.test_changed_3 [0.005484s] ... ok {10} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_same_revision_does_not_backport [0.006791s] ... ok {10} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_api [0.006381s] ... ok {10} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_missing [0.008849s] ... ok {10} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_uuid [0.010350s] ... ok {10} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_none [0.009260s] ... ok {12} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get_by_node_id [0.010504s] ... ok {12} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create [0.033492s] ... ok {12} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_non_default [0.008583s] ... ok {12} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_missing [0.008995s] ... ok {12} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_supported_set [0.008168s] ... ok {12} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object [0.005262s] ... ok {12} ironic.tests.unit.objects.test_objects.TestObject.test_obj_fields [0.005188s] ... ok {12} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_lower_version [0.007854s] ... ok {12} ironic.tests.unit.objects.test_port.TestPortObject.test_refresh [0.009521s] ... ok {12} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_unsupported [0.012414s] ... ok {12} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_id [0.008609s] ... ok {12} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy [0.008653s] ... ok {12} ironic.tests.unit.objects.test_trait.TestTraitObject.test_get_trait_names [0.007522s] ... ok {12} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get_by_id [0.008594s] ... ok /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: 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:376: 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) {12} ironic.tests.unit.test_base.BlockExecuteTestCase.test_exception_raised_for_execute_parent_mocked [0.005987s] ... ok PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/inject_nmi {} GOT:Response: 204 No Content Openstack-Request-Id: req-cf56071d-041f-4d28-ae67-3afae582109f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.29 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/boot_device {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-338327ec-31e0-4974-aad8-205ccc88f4cb X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/node-39/traits {'trait': 'CUSTOM_3'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-48d58e58-27e5-4bf7-8de2-0204c49f2203 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} DELETE: /v1/ports/52:54:00:cf:2d:31 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-da9f4cf5-5361-43d7-95fc-0a5c420aff03 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4/ports/2bf253a2-3f5f-4e24-9643-2609400b8dbb GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-5e285501-3caf-412b-8bd8-4b526c70ca7f X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,is_smartnic {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-3d032e43-1551-48c0-825b-12c829618547 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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?sort_key=uuid {} GOT:{'ports': [{'uuid': '271bd87a-f047-46e8-9835-4281c5e53c3a', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/271bd87a-f047-46e8-9835-4281c5e53c3a', 'rel': 'self'}, {'href': 'http://localhost/ports/271bd87a-f047-46e8-9835-4281c5e53c3a', 'rel': 'bookmark'}]}, {'uuid': '95a4c5f0-1ac7-4a56-97ca-fe716ef958bf', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/95a4c5f0-1ac7-4a56-97ca-fe716ef958bf', 'rel': 'self'}, {'href': 'http://localhost/ports/95a4c5f0-1ac7-4a56-97ca-fe716ef958bf', 'rel': 'bookmark'}]}, {'uuid': 'e7618921-a8df-4926-bc46-d773041f3d24', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/e7618921-a8df-4926-bc46-d773041f3d24', 'rel': 'self'}, {'href': 'http://localhost/ports/e7618921-a8df-4926-bc46-d773041f3d24', 'rel': 'bookmark'}]}]} PATCH: /v1/ports/c5c40a06-d805-45b7-89d2-3235b7854cc8 [{'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-d780f18f-0372-49c8-a9f8-241b29756ea3 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"uuid": "c5c40a06-d805-45b7-89d2-3235b7854cc8", "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/c5c40a06-d805-45b7-89d2-3235b7854cc8", "rel": "self"}, {"href": "http://localhost/ports/c5c40a06-d805-45b7-89d2-3235b7854cc8", "rel": "bookmark"}], "created_at": "2021-01-19T06:02:19.181977+00:00", "updated_at": "2021-01-19T06:02:19.213832+00:00"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {'vif_port_id': '489a93ce-fd97-4096-95ad-26a60dcea1d2'}, '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-1514187f-51d5-4f6c-8b56-e491685aac28 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {"vif_port_id": "489a93ce-fd97-4096-95ad-26a60dcea1d2"}, "internal_info": {"tenant_vif_port_id": "489a93ce-fd97-4096-95ad-26a60dcea1d2"}, "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": "2021-01-19T06:02:19.272362+00:00", "updated_at": null} GET: /v1/portgroups/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-bb8ab0e3-fec5-4566-89c1-cec7b0d4eef6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5d63f44b-c860-4cc9-9bb6-76f0a137bd71 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:19.341290+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-d6e7aca6-35e9-4c51-9f19-495df9dd2116 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup pg.1: Cannot change name to invalid name 'aa:bb_cc'\", \"debuginfo\": null}"}{13} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_invalid_name [2.393107s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_normalized [0.061895s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_ok [0.052075s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok [0.027273s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_nothing_provided [0.028999s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_ok [0.005717s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_too_high [0.004982s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_invalid_value [0.005327s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_local_link_keys_mandatory [0.004826s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_types.TestUuidOrNameType.test_invalid_uuid_or_name [0.005551s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_types.TestUuidOrNameType.test_valid_name [0.005047s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type [0.008196s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_replace [0.004843s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_similar_subpath [0.004845s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_no_allocation [0.007030s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict [0.010529s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver [0.006195s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_unknown_verbs [0.005205s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface_fail [0.005680s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_default_limit [0.060387s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_sepecified_by_path [0.036500s] ... ok {13} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_value [0.029790s] ... ok 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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4ba2d627-9a8f-493c-8190-a48f3e9ffc4e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory keys. Required keys are {'switch_id', 'port_id'}. Or in case of Smart NIC {'port_id', 'hostname'}. Submitted keys are {'switch_id', 'hostname', 'switch_info'} .\", \"debuginfo\": null}"} DELETE: /v1/portgroups/6eb02b44-18a3-4659-8c0b-8d2802581ae4 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-d836ef29-80cf-4370-bb09-ae5cc221080e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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?fields=address,uuid {} GOT:{'portgroups': [{'uuid': '68d3cbb7-95f1-4336-ac27-56675acdece6', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/portgroups/68d3cbb7-95f1-4336-ac27-56675acdece6', 'rel': 'self'}, {'href': 'http://localhost/portgroups/68d3cbb7-95f1-4336-ac27-56675acdece6', 'rel': 'bookmark'}]}, {'uuid': '3ba45a3f-c57b-4ffd-b1e7-c086e52cd03c', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/portgroups/3ba45a3f-c57b-4ffd-b1e7-c086e52cd03c', 'rel': 'self'}, {'href': 'http://localhost/portgroups/3ba45a3f-c57b-4ffd-b1e7-c086e52cd03c', 'rel': 'bookmark'}]}, {'uuid': 'd83eea81-16a8-4e12-a2d8-e2d0200d9cb4', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/portgroups/d83eea81-16a8-4e12-a2d8-e2d0200d9cb4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d83eea81-16a8-4e12-a2d8-e2d0200d9cb4', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=address,uuid&limit=3&marker=d83eea81-16a8-4e12-a2d8-e2d0200d9cb4'} GET: /v1/portgroups?fields=uuid,extra {} GOT:{'portgroups': [{'uuid': '39120b49-d72f-4709-9ed1-5251cac15548', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/39120b49-d72f-4709-9ed1-5251cac15548', 'rel': 'self'}, {'href': 'http://localhost/portgroups/39120b49-d72f-4709-9ed1-5251cac15548', 'rel': 'bookmark'}]}, {'uuid': 'd11bbd5f-3fa4-4cba-9fa3-64efa3723876', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/d11bbd5f-3fa4-4cba-9fa3-64efa3723876', 'rel': 'self'}, {'href': 'http://localhost/portgroups/d11bbd5f-3fa4-4cba-9fa3-64efa3723876', 'rel': 'bookmark'}]}, {'uuid': 'f11559fe-d528-4da2-92f2-d2fa3af9c315', 'extra': {}, 'links': [{'href': 'http://localhost/v1/portgroups/f11559fe-d528-4da2-92f2-d2fa3af9c315', 'rel': 'self'}, {'href': 'http://localhost/portgroups/f11559fe-d528-4da2-92f2-d2fa3af9c315', 'rel': 'bookmark'}]}]} 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-494306cc-2ef1-420a-8850-80e1e3b8d52c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:19.157290+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-1056588a-8f95-4253-a7e1-75d1ed0f5ee8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '/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-4b3d2830-c550-4e7f-b2d4-960860ad98d7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:19.268755+00:00", "updated_at": "2021-01-19T06:02:19.303407+00:00"} 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-718ba2ce-6a04-4f1b-8850-fb63f37af11a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': 'invalid-format'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-962958c4-0406-42d5-8f9c-db783c02d802 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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, '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-4a30014d-ce24-4614-92d2-6d130e1485ad X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:19.409388+00:00", "updated_at": null}{18} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_node_uuid_to_node_id_mapping [1.472378s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_agent_verify_ca [0.036428s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_updated_success [0.005326s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_advanced_net_fields [0.005354s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin [0.006453s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_uuid [0.006082s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy [0.006564s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links [0.060553s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail [0.042209s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_sepecified_by_path [0.034775s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_fields [0.043829s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_id [0.035640s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_not_found [0.038447s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_many [0.070113s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root [0.051184s] ... ok GET: /v1/portgroups {} GOT:{'portgroups': [{'uuid': '72452f00-7c63-4ab0-9167-d4e886f5d2db', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/72452f00-7c63-4ab0-9167-d4e886f5d2db', 'rel': 'self'}, {'href': 'http://localhost/portgroups/72452f00-7c63-4ab0-9167-d4e886f5d2db', 'rel': 'bookmark'}]}, {'uuid': '06145a17-a785-48b1-9535-cd7892921f29', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/06145a17-a785-48b1-9535-cd7892921f29', 'rel': 'self'}, {'href': 'http://localhost/portgroups/06145a17-a785-48b1-9535-cd7892921f29', 'rel': 'bookmark'}]}, {'uuid': '40b4952f-040b-4a18-90bd-31f94f8ac853', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/40b4952f-040b-4a18-90bd-31f94f8ac853', 'rel': 'self'}, {'href': 'http://localhost/portgroups/40b4952f-040b-4a18-90bd-31f94f8ac853', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/portgroups?sort_key=id&sort_dir=asc&fields=uuid,address,name&limit=3&marker=40b4952f-040b-4a18-90bd-31f94f8ac853'} 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': '2021-01-19T06:02:22.499501+00:00', 'updated_at': None}]} GET: /v1/portgroups?address=invalid-mac-format {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f4610cf0-9f41-4ec3-a916-800d21988858 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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}"} 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-4dff4dbb-8c95-478c-ac62-e483b3173a3a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:22.569128+00:00", "updated_at": "2021-01-19T06:02:22.572687+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-2f883853-1b0a-477a-8735-017b1c08b68e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:22.569128+00:00", "updated_at": "2021-01-19T06:02:22.572687+00:00"} 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-beace0fd-eb93-42ab-965e-a00fd317cede X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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}"} 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-8c798c25-ee5b-4ff6-8423-35016aa83cbf X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:22.700358+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': '2021-01-19T06:02:22.700358+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': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8db09942-86c4-4d97-b672-916b72044d36 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e could not be found.\", \"debuginfo\": null}"} 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'}]}]}{7} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_false [3.079101s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_non_existent_property_fail [0.039151s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_node_uuid_to_node_id_mapping [0.046351s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestVolumeConnectorObject.test_volume_connector_init [0.005803s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_collection_links_default_limit [0.064284s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_root_non_existent [0.036539s] ... ok {7} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_multi [0.056244s] ... ok {7} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_23_root [0.018828s] ... ok {7} ironic.tests.unit.api.test_types.TestTypes.test_attribute_validation_minimum [0.006726s] ... ok {7} ironic.tests.unit.api.test_types.TestTypes.test_binary_to_base [0.005260s] ... ok {7} ironic.tests.unit.api.test_types.TestTypes.test_inspect_with_inheritance [0.007401s] ... ok {7} ironic.tests.unit.api.test_types.TestTypes.test_validate_dict [0.005388s] ... ok {7} ironic.tests.unit.api.test_types.TestTypes.test_validate_string_type [0.008616s] ... ok {7} ironic.tests.unit.cmd.test_dbsync.DbSyncTestCase.test_upgrade_and_version [0.025514s] ... ok {7} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_batches [0.008742s] ... ok {7} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_attached [0.013060s] ... ok {7} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_without_context [0.006011s] ... ok {7} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer [0.008570s] ... ok {7} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_not_fake [0.036364s] ... ok {7} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_raid_interface_no_default [0.010301s] ... ok {7} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_default_is_flat [0.038821s] ... ok {7} ironic.tests.unit.common.test_driver_factory.WarnUnsupportedDriversTestCase.test__warn_if_unsupported_with_unsupported [0.006375s] ... ok {7} ironic.tests.unit.common.test_fsm.FSMTest.test_process_event [0.005201s] ... ok {7} ironic.tests.unit.common.test_fsm.FSMTest.test_target_state_stable [0.005120s] ... ok {7} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_no_data [0.006582s] ... ok {7} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_ioerror [0.011769s] ... ok {7} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_rfc_822 [0.009785s] ... ok {7} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_default_ldlinux [0.012734s] ... ok {7} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_with_prop_subset [0.007215s] ... ok {7} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service_force_raw [0.010623s] ... ok {7} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_no_file_format [0.006684s] ... ok {7} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_not_raw_after_conversion [0.009391s] ... ok {7} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_ipv6_success [0.010904s] ... ok {7} ironic.tests.unit.common.test_json_rpc.TestService.test_expected_failure_oslo [0.018135s] ... ok {7} ironic.tests.unit.common.test_json_rpc.TestService.test_success_no_result [0.016529s] ... ok {7} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_session [0.004436s] ... ok {7} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id_empty [0.044661s] ... ok {7} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_uuid [0.007948s] ... ok {7} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_no_smartnic_and_link_info [0.058968s] ... ok {7} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_with_smartnic_and_link_info [0.044127s] ... ok {7} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down_max_retry [0.026435s] ... ok {7} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_localboot [0.040333s] ... ok {7} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__link_ip_address_pxe_configs [0.045134s] ... ok {7} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi [0.046494s] ... ok {7} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_ipa_debug [0.059855s] ... ok {7} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_root [0.013683s] ... ok {7} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_multiple_root_volumes [0.022701s] ... ok {7} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_with_jbod_volume [0.009972s] ... ok {7} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases_objects [0.005367s] ... ok {7} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_notifier [0.005317s] ... ok {7} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link [0.007427s] ... ok {7} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object_throws_for_invalid_or_unsupported_hash_name [0.005794s] ... ok {7} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_candidate_nodes [0.060207s] ... ok {7} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_without_resource_class [1.084178s] ... ok {7} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_recover_nodes_stuck [0.425995s] ... ok {7} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_clears_conductor_locks [0.142531s] ... ok {7} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_doesnt_unregister_conductor [0.124223s] ... ok {7} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanAbortTestCase.test__do_node_clean_abort [0.260414s] ... ok {7} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_maintenance [0.073821s] ... ok {7} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_db_error [0.158236s] ... ok {7} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_with_network_data [0.188688s] ... ok {7} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_raises_error_old [0.179433s] ... ok {7} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_protected_provision_state_available [0.138178s] ... ok {7} ironic.tests.unit.conductor.test_manager.DestroyPortgroupTestCase.test_destroy_portgroup_node_locked [0.028838s] ... ok {7} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target [0.054844s] ... ok {7} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual_abort_last_clean_step [0.173188s] ... ok {7} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_maintenance [0.044194s] ... ok {7} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_disappears [0.013346s] ... ok {7} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_cleaning [0.178530s] ... ok {7} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_in_maintenance_on_acquire [0.015387s] ... ok {7} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_node_locked [0.013773s] ... ok {7} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_disappears_on_acquire [0.014016s] ... ok {7} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_node_locked [0.027653s] ... ok {7} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_power_validate_fail [0.069549s] ... ok {7} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_copies_object [0.009014s] ... ok {7} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_hardware_type [0.055061s] ... ok {7} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_port_changed_failure [0.047759s] ... ok {7} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_rescue [0.014466s] ... ok {7} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vendor_passthru [0.011526s] ... ok {7} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps [0.042093s] ... ok {7} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deploy_steps_unsorted [0.044493s] ... ok {7} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_no_steps [0.041702s] ... ok {7} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_reserve_exception [0.018149s] ... ok {7} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after [0.022332s] ... ok {7} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_no_skip [0.040822s] ... ok {7} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_deploy [0.042253s] ... ok {7} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_power_on [0.047502s] ... ok {7} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_different_state [0.043860s] ... ok {7} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_already_being_processed [0.064097s] ... ok {7} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_non_existent_mode [0.042601s] ... ok {7} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_2 [0.052565s] ... ok {7} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_walk_versions ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {7} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up [0.008180s] ... ok {7} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_type_check [0.012391s] ... ok {7} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list [0.022865s] ... ok {7} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis [0.013927s] ... ok {7} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_offline_conductor [0.019097s] ... ok {7} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_node_not_exist [0.017052s] ... ok {7} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_exists [0.032142s] ... ok {7} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_node_not_exist [0.016983s] ... ok {7} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits [0.038545s] ... ok {7} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list [0.032581s] ... ok {7} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_traits_get_destroyed_after_destroying_a_node [0.036566s] ... ok {7} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_not_empty [0.020926s] ... ok {7} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id [0.016038s] ... ok {7} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_address [0.019591s] ... ok {7} ironic.tests.unit.db.test_ports.DbPortTestCase.test_create_port_duplicated_uuid [0.017882s] ... ok {7} ironic.tests.unit.db.test_ports.DbPortTestCase.test_update_port_uuid [0.015640s] ... ok {7} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_with_exception [0.053920s] ... ok {7} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_unset_sleep_and_fake [0.056436s] ... ok {7} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate [0.045410s] ... ok {7} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_extra_vars [0.014028s] ... ok {7} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_path [0.013452s] ... ok {7} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus_without_ht_enabled [0.044384s] ... ok {7} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware [0.064728s] ... ok {7} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_fail [0.045679s] ... ok {7} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_job_not_scheduled [0.023364s] ... ok {7} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_without_clean_step [0.021233s] ... ok {7} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on_timeout [0.053621s] ... ok {7} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_clear_foreign_config [0.017133s] ... ok {7} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_clean [0.085323s] ... ok {7} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size [0.091034s] ... ok {7} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_and_share_physical_disks [0.089239s] ... ok {7} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_without_drives_conversion [0.086822s] ... ok {7} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_string_value_verify_ca [0.013279s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_error_deploying [0.061562s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_cleaning [0.059578s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue [0.013520s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_inspection_missing [0.033555s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue [0.052741s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_glance [0.056521s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift_throws_error_if_swift_operation_fails [0.022968s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_snmp [0.016836s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state_not_supported [0.045105s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_not_supported [0.048578s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_password [0.013384s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_get_properties [0.041899s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_deploy [0.029552s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_devices [0.047029s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_invalid_component_clean [0.048007s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate [0.040174s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_deploying [0.068509s] ... ok {7} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_deploying [0.088207s] ... ok {7} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_cinder_storage [0.045310s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__cleanup_vmedia_boot_ok [0.053338s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.083508s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_invalid_trusted_boot_value [0.038509s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_ramdisk_skip [0.073461s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_invalid_netmask [0.090307s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_snmp_version [0.014674s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_password [0.013718s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_option_default [0.014979s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__get_mac_addresses [0.050144s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_and_cpu_fpgas_results_are_different [0.043266s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_restore_irmc_bios_config [0.054232s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_safe [0.205073s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_disks_1 [0.041392s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_without_physical_disks [0.041300s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration [0.054214s] ... ok {7} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_fail_create_raid_without_target_raid_config [0.038942s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid_attached_vifs [0.078009s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_pxe_portgroup_standalone_ports [0.133285s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_active_node_failure [0.061027s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_rescuing [0.050269s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_raise [0.051517s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_init_no_cleaning_network [0.030240s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_instance_uuid [0.050078s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_get_node_network_data [0.043583s] ... ok {7} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_unconfigure_tenant_networks [0.045388s] ... ok {7} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_cleaning_failed [0.077785s] ... ok {7} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_step_pre_reboot_cleaning [0.081899s] ... ok {7} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_no_debug [0.058436s] ... ok {7} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection_missing [0.036874s] ... ok {7} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_no_firmware_upd [0.027014s] ... ok {7} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_with_root_prefix [0.015981s] ... ok {7} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure_raises_exception [0.062864s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_nonroot [0.047750s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_delete_configuration [0.046178s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_empty_rescue_password [0.057356s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_fails_no_rescue_password [0.061661s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_storage_should_write_image_false [0.060949s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_properties [0.436406s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_active_and_unrescue_states [0.088903s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_rescue_states [0.128003s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_no_capabilities [0.107683s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_deploy [0.061899s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid [0.045271s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_no_root_uuid_whole_disk [0.047501s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_after_reboot [0.255392s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_no_step_running [0.054003s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_configure_fails [0.058151s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_with_smartnic_port [0.056173s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_decomposed_steps [0.070417s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_done_fails [0.058045s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance [0.106347s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_touch_provisioning_and_url_save [0.065111s] ... ok {7} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps [0.056700s] ... ok {7} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail [0.020757s] ... ok {7} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_socat_console_fail_nopid [0.014751s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_stream [0.017769s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning_cleaning_error [0.053800s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability [0.010289s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_partition_image [0.009926s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false_fc_target [0.080920s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_okay [0.060400s] ... ok {7} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_missing_prop [0.016609s] ... ok {7} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_amount_not_satisfied [0.009176s] ... ok {7} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_with_qs [0.014651s] ... ok {7} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_deploy_iso_network_data [0.043009s] ... ok {7} ironic.tests.unit.drivers.modules.test_inspect_utils.InspectFunctionTestCase.test_create_ports_if_not_exist [0.114517s] ... ok {7} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error_managed [0.052126s] ... ok {7} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_ok [0.018832s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_already_checked [0.009138s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat [0.008855s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_management_init_calls_already_checked [0.008313s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_persistent [0.052208s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_power_validate [0.048880s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_ok [0.050463s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_first_call_to_address [0.019405s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_cipher_suite_not_a_number [0.017382s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console [0.046685s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_get_console [0.049023s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_false [0.095137s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_never [0.099302s] ... ok {7} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue [0.043681s] ... ok {7} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_get_clean_steps [0.054248s] ... ok {7} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail [0.110022s] ... ok {7} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_destroy_images [0.026079s] ... ok {7} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_set_boot_device [0.006884s] ... ok {7} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_sloppy_false [0.392819s] ... ok {7} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_context [0.046654s] ... ok {7} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_reset [0.011905s] ... ok {7} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on [0.015077s] ... ok {7} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_off [0.009380s] ... ok {7} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_reset [0.010390s] ... ok {7} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset [0.010256s] ... ok {7} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_off_error [0.045322s] ... ok {7} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v2c [0.008518s] ... ok {7} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info [0.013152s] ... ok {7} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_properties [0.013824s] ... ok {7} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_noexception [0.005542s] ... ok {7} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_default_interfaces [0.045429s] ... ok {7} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_device_good [0.039609s] ... ok {7} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_cinder_storage [0.042133s] ... ok {7} ironic.tests.unit.drivers.test_redfish.RedfishHardwareTestCase.test_default_interfaces [0.044816s] ... ok {7} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_command_fail [0.008347s] ... ok {7} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_with_label [0.008326s] ... ok {7} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_create [1.298614s] ... ok {7} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_create [0.009926s] ... ok {7} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_bad_id_and_uuid [0.008205s] ... ok {7} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_list [0.009419s] ... ok {7} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_unsupported_missing_remove [0.008880s] ... ok {7} ironic.tests.unit.objects.test_node.TestNodeObject.test_as_dict_secure [0.009223s] ... ok {7} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_without_status_fails [0.005447s] ... ok {7} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_level_too_low [0.011275s] ... ok {7} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_missing_required_obj_field [0.005674s] ... ok {7} ironic.tests.unit.objects.test_objects.TestObject.test_obj_attr_is_set [0.005795s] ... ok {7} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_api [0.006468s] ... ok {7} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_missing [0.008831s] ... ok {7} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported_set [0.008503s] ... ok {7} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_create [0.010341s] ... ok GET: /v1/volume/connectors {} GOT:{'connectors': []} GET: /v1/volume/connectors?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4298adfa-a9d5-41b1-a286-ac32ad105c6f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-0f50b7a1-4fe3-4c91-aff6-bd8a4a05f647 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': '/node_uuid', 'value': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-bcc2b651-51cc-4dec-9fda-2828435bd249 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:21.685918+00:00", "updated_at": null} PATCH: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/node_uuid', 'value': 123, 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ac17a38d-96c2-4ff9-b20a-18fad70c3a3f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': 'replace'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-e792b263-754b-46a7-ad4b-7ca55032905d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type None and connector ID test-connector-id-123 already exists.\", \"debuginfo\": null}"} DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-68e7853a-f894-479a-9c60-9abf751cd6bb X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node fake-node is locked by host fake-host, please retry after the current operation is completed.\", \"debuginfo\": null}"} 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-df0c9943-60fc-4d80-a9a7-33bf420124b3 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:21.860958+00:00", "updated_at": null} GET: / {} GOT:{'name': 'OpenStack Ironic API', 'description': 'Ironic is an OpenStack project which aims to provision baremetal machines.', 'default_version': {'id': 'v1', 'links': [{'href': 'https://mycloud.com/ironic/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.68'}, 'versions': [{'id': 'v1', 'links': [{'href': 'https://mycloud.com/ironic/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.68'}]} func1() migrated 10 of 15 objects. PATCH: /v1/nodes/f12cd8e0-e111-4c08-8f3f-4e2a8427925b [{'path': '/network_interface', 'value': 'flat', 'op': 'add'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-e7d77c30-a76b-4518-aada-c1b87be22301 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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-987d447a-bef9-4870-8812-15718238ae6d X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.879974+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': {'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-a99b232b-6fcc-48a5-b4bb-d7d503f4a970 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.931141+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': '2021-01-19T06:02:18.931141+00:00'} 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-2728e081-b2c4-4b0a-86ee-2ef70fca7135 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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/states/provision {'target': 'adopt'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-70fe4d5e-1b00-4268-a634-b89377e83a16 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': 'clean', 'clean_steps': [{'step': 'upgrade_firmware', 'interface': 'deploy'}]} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e801e583-54ba-4345-9871-74166732e9db X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/node-39/states/power {'target': 'power on'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-3c3d12a5-4c58-41f2-a5de-7947b392a1e8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/provision {'target': 'deleted'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-2ecd3f1f-63c2-4aee-8082-57d75ebf0e69 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {16} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_tear_down [1.982356s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_rescue_raises_error_before_1_38 [0.044079s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_boot_device_by_name [0.041678s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_node_maintenance_mode_error [0.035352s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits [0.044750s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_common_params [0.006287s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_portgroup_notification [0.005595s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail_against_single [0.027488s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_node_name_ok [0.056881s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_one [0.041633s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_local_link_connection_network_type [0.059575s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_non_existent_property_fail [0.040438s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_physical_network [0.056483s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_empty [0.008526s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_not_allow [0.007827s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_generate_uuid [0.085205s] ... ok DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d57a5e0d-5c85-42ea-808e-f7645ceec5b0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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}"} GET: /v1/volume/targets {} GOT:{'targets': []} 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-5e8f41ea-a569-46b0-818f-57ac47f5d6c0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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}"} 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'}, 'boot_index': 0, 'volume_id': '12345678', 'extra': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-b9737f0e-91f1-4bd4-951c-aca0f1bab554 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-c7ad5c15-5a37-4799-98e8-215b2df2057b {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} 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': '2021-01-19T06:02:23.088969+00:00', 'updated_at': None}]} 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-e9ac7626-c055-4520-8278-bd7a4a8dbe73 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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/e32bbc59-b4ca-435e-a01b-262fee8ec78b [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-91250b31-ae1a-4539-81e8-16caecaf98e8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume target e32bbc59-b4ca-435e-a01b-262fee8ec78b could not be found.\", \"debuginfo\": null}"} GET: /v1/chassis {} GOT:{'chassis': []} GET: /v1/ {} GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.68'}} GET: /v1/ {} GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.68'}, 'portgroups': [{'href': 'http://localhost/v1/portgroups/', 'rel': 'self'}, {'href': 'http://localhost/portgroups/', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/volume/', 'rel': 'self'}, {'href': 'http://localhost/volume/', 'rel': 'bookmark'}], 'lookup': [{'href': 'http://localhost/v1/lookup/', 'rel': 'self'}, {'href': 'http://localhost/lookup/', 'rel': 'bookmark'}], 'heartbeat': [{'href': 'http://localhost/v1/heartbeat/', 'rel': 'self'}, {'href': 'http://localhost/heartbeat/', 'rel': 'bookmark'}]} [] Running batches of 50 until migrations have been completed. Data migrations have completed. GET: /v1/nodes/eeeeeeee-cccc-aaaa-bbbb-cccccccccccc/ports {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-908a5ed1-0636-4919-bc0b-6e1ad34a619d X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/volume/targets {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-b00f1140-aa68-4c1c-92b2-8952993b1a16 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node volume could not be found.\", \"debuginfo\": null}"} PATCH: /v1/nodes/367603cf-db9f-4716-b851-c07f250496fc [{'path': '/name', 'op': 'replace', 'value': 'this-is-my-node'}] GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-aa9a2d74-60bc-4117-90e3-e720f956a38d X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '/extra', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-7bdae59f-abef-4352-9770-b4cfaecd7a1b X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:18.018306+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-dbfcaba7-5a2e-42b1-8e91-14964ce88050 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-630ab882-be2b-4799-a443-fcb5a4f40749 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/8df04807-22c7-4033-a290-fd84aea2c8f2 [{'path': '/network_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ed6ab9f5-4c23-4602-a8d4-c25f1b83ffc1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "8df04807-22c7-4033-a290-fd84aea2c8f2", "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/8df04807-22c7-4033-a290-fd84aea2c8f2", "rel": "self"}, {"href": "http://localhost/nodes/8df04807-22c7-4033-a290-fd84aea2c8f2", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/8df04807-22c7-4033-a290-fd84aea2c8f2/ports", "rel": "self"}, {"href": "http://localhost/nodes/8df04807-22c7-4033-a290-fd84aea2c8f2/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/8df04807-22c7-4033-a290-fd84aea2c8f2/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/8df04807-22c7-4033-a290-fd84aea2c8f2/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/8df04807-22c7-4033-a290-fd84aea2c8f2/volume", "rel": "self"}, {"href": "http://localhost/nodes/8df04807-22c7-4033-a290-fd84aea2c8f2/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/8df04807-22c7-4033-a290-fd84aea2c8f2/states", "rel": "self"}, {"href": "http://localhost/nodes/8df04807-22c7-4033-a290-fd84aea2c8f2/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.166671+00:00"} PATCH: /v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc [{'path': '/boot_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-17bf1461-775a-4729-8db2-4a950b3746cc X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "7d68c56e-adae-4b8a-987b-c764305b31bc", "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/7d68c56e-adae-4b8a-987b-c764305b31bc", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/ports", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/volume", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/states", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.228132+00:00"} PATCH: /v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc [{'path': '/console_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-75c46c59-b291-44e1-bb49-a64d35bf8d18 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "7d68c56e-adae-4b8a-987b-c764305b31bc", "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/7d68c56e-adae-4b8a-987b-c764305b31bc", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/ports", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/volume", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/states", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.228132+00:00"} PATCH: /v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc [{'path': '/deploy_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-02ff0adf-e52b-49c5-bdf0-46e9bab358b1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "7d68c56e-adae-4b8a-987b-c764305b31bc", "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/7d68c56e-adae-4b8a-987b-c764305b31bc", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/ports", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/volume", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/states", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.228132+00:00"} PATCH: /v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc [{'path': '/inspect_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-85fe1b8b-001b-4b74-ac69-95463650198e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "7d68c56e-adae-4b8a-987b-c764305b31bc", "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/7d68c56e-adae-4b8a-987b-c764305b31bc", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/ports", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/volume", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/states", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.228132+00:00"} PATCH: /v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc [{'path': '/management_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d7d1f01c-560f-4a0c-bee2-a2cd0512670a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "7d68c56e-adae-4b8a-987b-c764305b31bc", "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/7d68c56e-adae-4b8a-987b-c764305b31bc", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/ports", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/volume", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/states", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.228132+00:00"} PATCH: /v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc [{'path': '/power_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-fbb27cec-ce3c-4446-9d65-33c2a395942a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "7d68c56e-adae-4b8a-987b-c764305b31bc", "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/7d68c56e-adae-4b8a-987b-c764305b31bc", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/ports", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/volume", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/states", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.228132+00:00"} PATCH: /v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc [{'path': '/raid_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-50aa2d63-4758-41a1-80a9-c44d86568893 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "7d68c56e-adae-4b8a-987b-c764305b31bc", "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/7d68c56e-adae-4b8a-987b-c764305b31bc", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/ports", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/volume", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/states", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.228132+00:00"}{14} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_interface_fields [0.247546s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_network_data [0.077057s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_owner_old_api [0.040493s] ... ok 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-3a1a849a-10ae-432e-bde1-fd3a62f0e2dc X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"cat": "meow"} 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-d3a5b353-e19d-4b10-b06f-c1f3cad11216 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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-5d7970bc-3970-4f9f-8f6d-5f0a6e39906d X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/node-39/states/provision {'target': 'active'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/node-39/states Openstack-Request-Id: req-f962722a-68fb-418f-90fd-f1733971c37f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 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-05c0ec40-e987-4fc2-968c-50e1a557cf16 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/node-39/traits {'traits': ['CUSTOM_3', 'BAD_TRAIT']} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-879eb7d7-b9df-462c-9b13-6cf409bad2bf X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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': '2021-01-19T06:02:20.103582+00:00', 'updated_at': None}]} PATCH: /v1/ports/fe9d038b-e552-4485-a28b-edae21a68382 [{'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-fc4f5413-102f-436e-a774-95b80292212c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"uuid": "fe9d038b-e552-4485-a28b-edae21a68382", "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/fe9d038b-e552-4485-a28b-edae21a68382", "rel": "self"}, {"href": "http://localhost/ports/fe9d038b-e552-4485-a28b-edae21a68382", "rel": "bookmark"}], "created_at": "2021-01-19T06:02:20.147572+00:00", "updated_at": "2021-01-19T06:02:20.176793+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-9502b14c-ec4c-4704-954a-c1139cbe5722 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-3b87e06f-dc50-4ab8-aed7-3941e9422aac X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:20.236724+00:00", "updated_at": "2021-01-19T06:02:20.275905+00:00"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {'vif_port_id': 'dbdc0fd9-8a68-45bd-906c-11e12882d04f'}, '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-eebee5fe-94fa-4fa2-a2fd-14cde55da800 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': {'network_type': 'unmanaged'}, '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-cb0db065-2cb0-4c48-ae48-547d6e4fd019 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.63 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} GET: /v1/portgroups/detail?sort_key=mode {} GOT:{'portgroups': [{'uuid': '9131a8d1-cebf-4ae3-ba8e-a064b7d29e7b', '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/9131a8d1-cebf-4ae3-ba8e-a064b7d29e7b', 'rel': 'self'}, {'href': 'http://localhost/portgroups/9131a8d1-cebf-4ae3-ba8e-a064b7d29e7b', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'mode_1', 'properties': {}, 'ports': [{'href': 'http://localhost/v1/portgroups/9131a8d1-cebf-4ae3-ba8e-a064b7d29e7b/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/9131a8d1-cebf-4ae3-ba8e-a064b7d29e7b/ports', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:20.386902+00:00', 'updated_at': None}, {'uuid': '6af2381a-c06d-4bb2-864f-1fee7d8a37ac', '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/6af2381a-c06d-4bb2-864f-1fee7d8a37ac', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6af2381a-c06d-4bb2-864f-1fee7d8a37ac', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'mode_2', 'properties': {}, 'ports': [{'href': 'http://localhost/v1/portgroups/6af2381a-c06d-4bb2-864f-1fee7d8a37ac/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6af2381a-c06d-4bb2-864f-1fee7d8a37ac/ports', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:20.385272+00:00', 'updated_at': None}, {'uuid': '190a5263-2180-4842-90c7-f2767cdd1621', '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/190a5263-2180-4842-90c7-f2767cdd1621', 'rel': 'self'}, {'href': 'http://localhost/portgroups/190a5263-2180-4842-90c7-f2767cdd1621', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'mode_3', 'properties': {}, 'ports': [{'href': 'http://localhost/v1/portgroups/190a5263-2180-4842-90c7-f2767cdd1621/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/190a5263-2180-4842-90c7-f2767cdd1621/ports', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:20.383578+00:00', 'updated_at': None}]}{5} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_allowed [3.582782s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_sort_key_not_allowed [0.028685s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one [0.036207s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_invalid_api_version [0.023774s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_singular [0.050046s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_remove_extra_vif_port_id_not_internal [0.055970s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_default_mode [0.039179s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_doesnt_contain_id [0.060081s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_error [0.035934s] ... ok PATCH: /v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565 [{'path': '/raid_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-a9fc13e1-22ae-4a3b-bfaa-d179e0b9f831 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "b0205f2e-4732-4857-ae6c-70a732163565", "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/b0205f2e-4732-4857-ae6c-70a732163565", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/ports", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/volume", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/states", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.210513+00:00"} PATCH: /v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565 [{'path': '/vendor_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-99edce30-fca0-4e07-b84d-cc1a86c80b20 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "b0205f2e-4732-4857-ae6c-70a732163565", "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/b0205f2e-4732-4857-ae6c-70a732163565", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/ports", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/volume", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/b0205f2e-4732-4857-ae6c-70a732163565/states", "rel": "self"}, {"href": "http://localhost/nodes/b0205f2e-4732-4857-ae6c-70a732163565/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.210513+00:00"} PATCH: /v1/nodes/4728f4cb-d2ad-49fa-b3d3-89def511423a [{'path': '/storage_interface', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5751083a-0972-4682-ab57-1e56c25306da X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "4728f4cb-d2ad-49fa-b3d3-89def511423a", "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/4728f4cb-d2ad-49fa-b3d3-89def511423a", "rel": "self"}, {"href": "http://localhost/nodes/4728f4cb-d2ad-49fa-b3d3-89def511423a", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/4728f4cb-d2ad-49fa-b3d3-89def511423a/ports", "rel": "self"}, {"href": "http://localhost/nodes/4728f4cb-d2ad-49fa-b3d3-89def511423a/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/4728f4cb-d2ad-49fa-b3d3-89def511423a/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/4728f4cb-d2ad-49fa-b3d3-89def511423a/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/4728f4cb-d2ad-49fa-b3d3-89def511423a/volume", "rel": "self"}, {"href": "http://localhost/nodes/4728f4cb-d2ad-49fa-b3d3-89def511423a/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/4728f4cb-d2ad-49fa-b3d3-89def511423a/states", "rel": "self"}, {"href": "http://localhost/nodes/4728f4cb-d2ad-49fa-b3d3-89def511423a/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:19.148552+00:00"}{19} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_reset_storage_interface [0.708458s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_lessee_old_api [0.041400s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired [0.053479s] ... ok 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?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': '2021-01-19T06:02:22.237323+00:00', 'updated_at': None}]} PATCH: /v1/ports/2a83102e-63a5-49a1-b560-e2de30b7c677 [{'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-64a014cd-3743-4be7-b369-f82aff9710d7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.27 {"uuid": "2a83102e-63a5-49a1-b560-e2de30b7c677", "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/2a83102e-63a5-49a1-b560-e2de30b7c677", "rel": "self"}, {"href": "http://localhost/ports/2a83102e-63a5-49a1-b560-e2de30b7c677", "rel": "bookmark"}], "created_at": "2021-01-19T06:02:22.282904+00:00", "updated_at": "2021-01-19T06:02:22.310539+00:00"} 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-15b001b2-4dfb-4c3b-8d48-0cbb9f440c6f X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:22.335824+00:00", "updated_at": "2021-01-19T06:02:22.363283+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-b3916097-6639-465c-90a0-02ae991e0c72 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:22.388818+00:00", "updated_at": "2021-01-19T06:02:22.417964+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-26f62f16-d95e-4f6b-8393-b0fc20542859 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:22.388818+00:00", "updated_at": "2021-01-19T06:02:22.446504+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-8c8e22c7-5e96-47cd-9cb6-1654fb8921e1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '/portgroup_uuid', 'value': '8d44b63d-0387-4a56-ae04-e3905904fc16', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-ebbe8c03-fcb6-4189-9ea6-6bbfc6b46490 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "8d44b63d-0387-4a56-ae04-e3905904fc16", "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": "2021-01-19T06:02:22.510711+00:00", "updated_at": "2021-01-19T06:02:22.541100+00:00"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '350fc763-4c37-4172-8c38-0eaf084d763e', 'op': 'remove'}, {'path': '/portgroup_uuid', 'value': '5b7e9f03-8193-460c-9f05-5982d112f97a', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-60545881-c041-4d97-be28-40ecc3098555 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "5b7e9f03-8193-460c-9f05-5982d112f97a", "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": "2021-01-19T06:02:22.564325+00:00", "updated_at": "2021-01-19T06:02:22.595856+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-bad07b23-5098-47c3-b8c3-8690e7000441 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': {'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'}{15} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_doesnt_contain_id [1.051543s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_json [0.042010s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_one [0.038258s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_internal_info_not_allowed [0.028538s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_internal_info_not_allowed [0.026599s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_heartbeat_rejects_different_callback_url [0.030356s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_addresses [0.054272s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_root.TestV1Routing.test_max_version [0.020568s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_net_type_unmanaged_combine_ok [0.005299s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_smart_nic_keys_port_id_missing [0.005139s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_types.TestMacAddressType.test_invalid_mac_addr [0.005361s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_types.TestUuidOrNameType.test_valid_uuid [0.005428s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type_bad_id [0.005471s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_is_path_removed_success [0.005053s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_configdrive_vendor_data [0.005529s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_driver_fail [0.006032s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckOwnerPolicy.test_check_owner_policy [0.006895s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port_policy_forbidden [0.006805s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_policy_forbidden [0.008651s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_async [0.006511s] ... ok 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'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a391cb6d-2570-4432-a529-1993050aee66 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/vendor_passthru/test {'foo': 'bar'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-ac8dbce4-5e97-4a6d-87ac-352224975c96 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 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-e44a4c07-acf6-4b82-9e75-322c4e16c1d2 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/power {'target': 'power on'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-dac3367b-b2fa-41fa-88b7-4bec43478690 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.26 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-093076e6-53e7-4f7e-ae5e-2c685a250bb3 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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-440ac9a4-2217-445e-b814-7872209e291f X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/states/provision {'target': 'unrescue'} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-f2d338fa-9297-4a72-ad8c-0152dc2df245 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8a389101-592c-48fb-b611-bffb957ccc4e X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} DELETE: /v1/nodes/node-39/traits/CUSTOM_1 GOT:Response: 204 No Content Openstack-Request-Id: req-e2991083-7e0d-4a24-873e-7abfd872e77f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 GET: /v1/ports {} GOT:{'ports': [{'uuid': '7e7f9c92-ace8-487a-8461-bbedf4a67c73', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/7e7f9c92-ace8-487a-8461-bbedf4a67c73', 'rel': 'self'}, {'href': 'http://localhost/ports/7e7f9c92-ace8-487a-8461-bbedf4a67c73', 'rel': 'bookmark'}]}, {'uuid': '533867f0-4227-4a63-9b3b-25084ce6c109', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/533867f0-4227-4a63-9b3b-25084ce6c109', 'rel': 'self'}, {'href': 'http://localhost/ports/533867f0-4227-4a63-9b3b-25084ce6c109', 'rel': 'bookmark'}]}, {'uuid': '13b9bee5-a862-4988-826d-7567fbe4b1ae', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/13b9bee5-a862-4988-826d-7567fbe4b1ae', 'rel': 'self'}, {'href': 'http://localhost/ports/13b9bee5-a862-4988-826d-7567fbe4b1ae', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=13b9bee5-a862-4988-826d-7567fbe4b1ae'} 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': '2021-01-19T06:02:20.792363+00:00', 'updated_at': None}]} GET: /v1/ports?node=test-node {} GOT:{'ports': [{'uuid': '000d9464-5a90-4515-ae4a-817cfed6fe4d', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/000d9464-5a90-4515-ae4a-817cfed6fe4d', 'rel': 'self'}, {'href': 'http://localhost/ports/000d9464-5a90-4515-ae4a-817cfed6fe4d', 'rel': 'bookmark'}]}, {'uuid': '8cd45e3c-2fce-4338-9940-9e062ab252f5', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/8cd45e3c-2fce-4338-9940-9e062ab252f5', 'rel': 'self'}, {'href': 'http://localhost/ports/8cd45e3c-2fce-4338-9940-9e062ab252f5', 'rel': 'bookmark'}]}, {'uuid': 'b93357ca-5179-40fb-8fb4-3b10b14cad87', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/b93357ca-5179-40fb-8fb4-3b10b14cad87', 'rel': 'self'}, {'href': 'http://localhost/ports/b93357ca-5179-40fb-8fb4-3b10b14cad87', 'rel': 'bookmark'}]}]} 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': '2021-01-19T06:02:20.889262+00:00', 'updated_at': None}]} 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-ac384068-f8f7-46da-bf63-dcbd8221d80a X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/091a2b7f-104a-4131-aa0c-4e4edff282e6 [{'path': '/extra/vif_port_id', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5754ccd8-b232-49d0-8264-fb6a03965117 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.28 {"uuid": "091a2b7f-104a-4131-aa0c-4e4edff282e6", "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/091a2b7f-104a-4131-aa0c-4e4edff282e6", "rel": "self"}, {"href": "http://localhost/ports/091a2b7f-104a-4131-aa0c-4e4edff282e6", "rel": "bookmark"}], "created_at": "2021-01-19T06:02:20.973543+00:00", "updated_at": "2021-01-19T06:02:21.001118+00:00"}{9} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_extra_vif_port_id_not_same [2.726254s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_node_uuid [0.054628s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_remove [0.056055s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_nopxe_noportgroup [0.047480s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_nostandalone_ports [0.041039s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup [0.054931s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_some_invalid_local_link_connection_key [0.036507s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_by_node_name_ok [0.036788s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query_false [0.056084s] ... ok 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': {}, '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-b2f342d3-6ea7-4a99-88c2-8558b923bfa7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-4035e8b2-fcf6-483f-9913-a900e1c8d3b0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/heartbeat/e4b620fe-0da0-4d24-a7e5-9a7036166274 {'callback_url': 'url'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-a5bd0735-a6f8-4b39-b3ca-85e66bfe5ad0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node e4b620fe-0da0-4d24-a7e5-9a7036166274 could not be found.\", \"debuginfo\": null}"} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'abcdef1'} GOT:Response: 202 Accepted Openstack-Request-Id: req-3dab2ee5-1a81-4779-b5f6-9c1aca5dc825 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 GET: /v1/ {} GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.68'}} 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'}]} 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': {}} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d0524781-f712-45ea-8412-692eebcf95f4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} GET: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?detail=True {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-81a570e2-f319-4d23-a4c4-9ec721e6903a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\", \"debuginfo\": null}"} GET: /v1/volume/targets?sort_key=uuid {} GOT:{'targets': [{'uuid': '050fbbc8-77c5-4b5c-8413-67319e59c1ee', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/050fbbc8-77c5-4b5c-8413-67319e59c1ee', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/050fbbc8-77c5-4b5c-8413-67319e59c1ee', 'rel': 'bookmark'}]}, {'uuid': '0cb68e34-01d0-480d-99b9-6f1a0e2df898', 'volume_type': 'iscsi', 'boot_index': 0, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/0cb68e34-01d0-480d-99b9-6f1a0e2df898', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/0cb68e34-01d0-480d-99b9-6f1a0e2df898', 'rel': 'bookmark'}]}, {'uuid': 'bc7f5617-050a-46c6-82ac-53e83dd941ff', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/bc7f5617-050a-46c6-82ac-53e83dd941ff', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/bc7f5617-050a-46c6-82ac-53e83dd941ff', 'rel': 'bookmark'}]}]} 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-5d6e5178-deff-4869-abbb-4185788ce108 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:23.107863+00:00", "updated_at": null} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-6645c06c-7fcf-4e03-89e3-62b75828523d X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"}{17} ironic.tests.unit.api.test_acl.TestACL.test_non_admin_with_admin_header [3.508952s] ... ok {17} ironic.tests.unit.api.test_args.TestArgs.test_array_from_params [0.007279s] ... ok {17} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug [0.020946s] ... ok {17} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback [0.018624s] ... ok {17} ironic.tests.unit.api.test_hooks.TestPolicyDeprecation.test_policy_deprecation_check [0.007333s] ... ok {17} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations [0.009044s] ... ok {17} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_max_count_neg [0.009316s] ... ok INFO [alembic.runtime.migration] Context impl SQLiteImpl. INFO [alembic.runtime.migration] Will assume non-transactional DDL. {17} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_node_update_dynamic_driver_set_interfaces [0.071491s] ... ok {17} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_no_defaults [0.036181s] ... ok {17} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__no_auth [0.010725s] ... ok {17} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_makes_datetimes [0.006430s] ... ok {17} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance [0.005230s] ... ok {17} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success [0.031262s] ... ok {17} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_image_service_invalid_image_ref [0.005970s] ... ok {17} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image [0.010299s] ... ok {17} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_esp_image_for_hrefs [0.010505s] ... ok {17} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_adapter_from_config [0.004012s] ... ok {17} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_two_ports_inconsistent [0.052282s] ... ok {17} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_extra [1.592647s] ... ok {17} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_context [0.796531s] ... ok {17} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_with_sg [0.065487s] ... ok {17} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_5 [0.021515s] ... ok {17} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info [0.015396s] ... ok {17} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_two [0.015458s] ... ok {17} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_ipxe_configs [0.050121s] ... ok {17} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue [0.069786s] ... ok {17} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties_custom_schema [0.014613s] ... ok {17} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_too_few_physical_disks [0.008584s] ... 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': '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, 'lessee': None, 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'network_data': {}, 'updated_at': None, 'created_at': '2021-01-19T06:02:18.849113+00:00'} DELETE: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-e3f0aa30-c7c6-40fd-a796-32b1e095c063 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 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-a8c75eff-ceba-4f9d-b779-0069f84b9617 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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', 'timeout': 0} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-6515f47b-1664-49c6-86a3-48f4eb00734d X-Openstack-Ironic-Api-Maximum-Version: 1.68 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'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-c4c88ee1-b1da-421d-ba81-12474f227d1b X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': 'rescue', 'rescue_password': ' '} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-784f7deb-abf7-4f39-b036-607f587d36f7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/management/boot_device?persistent=True {'boot_device': 'pxe'} GOT:Response: 204 No Content Openstack-Request-Id: req-0f8ddfe7-c4de-4084-b6d2-8a2f5f0cf058 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/traits {} GOT:{'traits': ['CUSTOM_1', 'CUSTOM_2']} GET: /v1/ports/detail?node=test-node {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-9c3e2625-2c6e-4ba5-b3be-3b8448b5da01 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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=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?node=test-node {} GOT:{'ports': []} GET: /v1/ports {} GOT:{'ports': [{'uuid': 'a294ad44-3230-469b-9352-185f1a47e5dd', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/a294ad44-3230-469b-9352-185f1a47e5dd', 'rel': 'self'}, {'href': 'http://localhost/ports/a294ad44-3230-469b-9352-185f1a47e5dd', 'rel': 'bookmark'}]}, {'uuid': '63f79232-f3b6-4fd6-83c2-e9a40ae041f1', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/63f79232-f3b6-4fd6-83c2-e9a40ae041f1', 'rel': 'self'}, {'href': 'http://localhost/ports/63f79232-f3b6-4fd6-83c2-e9a40ae041f1', 'rel': 'bookmark'}]}]} GET: /v1/ports?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-9ad801b0-7f6b-49ee-8101-a5789a748236 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-41f5456a-43dd-4a16-aac6-fff23bda4b5a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-f7f42214-fe6e-46ae-9767-9130ffd20ba7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-42f1e9c8-a581-4892-8747-3e3738fcb95f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value local_link_connection is an invalid field for sorting\", \"debuginfo\": null}"}{11} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_sort_key_invalid [2.347161s] ... ok {17} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object [0.038913s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_portgroup_uuid [0.061803s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_local_link_connection [0.051324s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_mandatory [0.035777s] ... ok {17} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip [0.005827s] ... ok {17} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_conductor_shutdown_flag [0.107222s] ... ok {17} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_hw_types [0.025152s] ... ok {17} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_fast_track [0.119164s] ... ok {17} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated [0.054005s] ... ok {17} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_enabled [0.081248s] ... ok {17} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled_individual_enabled [0.076807s] ... ok {17} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_steps_fail [0.137846s] ... ok {17} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_unexpected_exception [0.189731s] ... ok {17} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_supported_boot_devices [0.034187s] ... ok {17} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_node_already_locked [0.129200s] ... ok {17} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector [0.049009s] ... ok {17} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_power_on [0.044594s] ... ok {17} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_maintenance [0.132963s] ... ok {17} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_network_validate_fail [0.134258s] ... ok {17} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_abort [0.057987s] ... ok {17} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provisioning_action_worker_pool_full [0.157486s] ... ok {17} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_power_state_sync_max_retries_gps_exception [0.029801s] ... ok {17} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_no_sync [0.030039s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_novif_pxe_portgroup_standalone_ports [0.053346s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_portgroup_different_nodes [0.035548s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_nostandalone_ports [0.045667s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_portgroup_standalone_ports [0.060247s] ... ok {17} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_manual_management [0.091907s] ... ok {17} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes [0.096578s] ... ok {17} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_instance_traits [0.040432s] ... ok {17} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_invalid_param [0.044767s] ... ok {17} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_replace [0.081161s] ... ok {17} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_invalid_parameter_value [0.062405s] ... ok {17} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_empty [0.064723s] ... ok {17} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data_multiple_workers [0.101899s] ... ok {17} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_traits_validate_fail [0.054299s] ... ok {17} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_invalid_state [0.020065s] ... ok {17} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_deleting_state [0.052605s] ... ok {17} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_manageable_state [0.149089s] ... ok {17} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_power_on [0.050677s] ... ok {17} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_not_found [0.050270s] ... ok {17} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_deploy [0.013503s] ... ok {17} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_node [0.013530s] ... ok {17} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat [0.013648s] ... ok {17} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_heartbeat_agent_token [0.013634s] ... ok {17} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_console_mode [0.012850s] ... ok {17} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_validate_driver_interfaces [0.012843s] ... ok {17} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_no_state_change [0.011663s] ... ok {17} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback [0.008877s] ... ok {17} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock [0.021737s] ... ok {17} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_is_agent_token_present [0.006816s] ... ok {17} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_tear_down_error [0.015143s] ... ok {17} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_ironic_exc [0.009299s] ... ok {17} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_no_heartbeat [0.061119s] ... ok {17} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_clean [0.052762s] ... ok {17} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_false_no_need [0.052690s] ... ok {17} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_notify [0.110796s] ... ok {17} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_2 [0.049868s] ... ok {17} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_create_schema_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {17} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_migration_impossible [0.020691s] ... ok {17} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_empty_db [0.046512s] ... ok {17} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_node_no_version [0.053651s] ... ok {17} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_list_node_not_exist [0.016669s] ... ok {17} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_node_not_exist [0.015705s] ... ok {17} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis [0.020921s] ... ok {17} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_existing_fails [0.017029s] ... ok {17} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_not_found [0.391066s] ... ok {17} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits [0.020804s] ... ok {17} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_node_not_exist [0.014489s] ... ok {17} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_defaults [0.025822s] ... ok {17} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_type_connector_id [0.014661s] ... ok {17} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_create_volume_connector_duplicated_uuid [0.014357s] ... ok {17} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target [0.014256s] ... ok {17} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list [0.021436s] ... ok {17} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_set_sleep_and_fake [0.057336s] ... ok {17} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare_with_smartnic_port [0.279329s] ... ok {17} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_node_ip [0.051162s] ... ok {17} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_python_interpreter [0.014180s] ... ok {17} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config [0.048797s] ... ok {17} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_deploy [0.058246s] ... ok {17} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_protocol [0.014547s] ... ok {17} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_protocol [0.013895s] ... ok {17} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_invalid [0.016270s] ... ok {17} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_pending_delete [0.024751s] ... ok {17} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_change_physical_disk_state [0.016912s] ... ok {17} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_if_disk_already_reserved [0.070434s] ... ok {17} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_share_physical_disks [0.091650s] ... ok {17} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_with_mix_realtime_controller_in_ehba_mode [0.076296s] ... ok {17} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi_fail [0.056676s] ... ok {17} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_delete_configuration_failed [0.060956s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_http_image [0.046329s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_clean_up_instance [0.045085s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.086212s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.051012s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume_bios [0.049492s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.097073s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_inspection [0.042061s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_bios [0.057538s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image_use_webserver [0.196138s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_copy_image_to_swift [0.024791s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_destroy_floppy_image_from_web_server [0.049946s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_ilo_object_cafile_boolean [0.018346s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift_suppresses_operror_exc [0.036128s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_sets_loc_obj_remove_to_webserver [0.023994s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_swift_error_clean [0.059970s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode [0.043001s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_clean [0.086752s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_deploy [0.062534s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_set_power_state_no_timeout [0.048437s] ... ok {17} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_cleaning [0.063435s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option [0.017379s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_in_share [0.018292s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_floppy_image_exception [0.054459s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_check_share_fs_mounted_exception [1.145799s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_glance_image_doesnt_exists [0.056583s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_good [0.042672s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection_no_inspection_ramdisk [0.057959s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_deploying [0.076569s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_apply_error [0.101253s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_iscsi_no_portal_port [0.092609s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_empty_snmp_security [0.016477s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_validate [0.042609s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ng [0.058640s] ... ok {17} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [0.039570s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_nothing_free [0.050233s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_internal_info [0.020298s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_cleaning_network [0.058449s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_port_changed [0.049446s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_vif_int_info [0.060554s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network_from_node [0.065329s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_inspection_network [0.055341s] ... ok {17} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_validate [0.050540s] ... ok {17} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_apply_time_immediate [0.092480s] ... ok {17} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_check_bios_attrs [0.061319s] ... ok GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-225ce5e7-4764-4d73-a016-6f8f745d515c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.15 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-10316994-eba1-4737-b948-6724e90e0086 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/provision {'target': 'deleted', 'configdrive': 'foo'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-6e049595-d47a-4a44-aebb-ec4f856f95fa X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/console {'enabled': 'false'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states/console Openstack-Request-Id: req-8e622178-d42d-43d5-894d-25a6b0a2bddd X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-0355c01f-84bb-451d-98a6-b20036fa5b78 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 GET: /v1/ports/detail?sort_key=pxe_enabled {} GOT:{'ports': [{'uuid': 'a1411883-9cfd-4960-a611-18a2c31027ec', '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/a1411883-9cfd-4960-a611-18a2c31027ec', 'rel': 'self'}, {'href': 'http://localhost/ports/a1411883-9cfd-4960-a611-18a2c31027ec', 'rel': 'bookmark'}], 'is_smartnic': False, 'created_at': '2021-01-19T06:02:25.784141+00:00', 'updated_at': None}, {'uuid': '25b7091f-8e7d-44bf-a4b8-8d741dca9b07', '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/25b7091f-8e7d-44bf-a4b8-8d741dca9b07', 'rel': 'self'}, {'href': 'http://localhost/ports/25b7091f-8e7d-44bf-a4b8-8d741dca9b07', 'rel': 'bookmark'}], 'is_smartnic': False, 'created_at': '2021-01-19T06:02:25.785876+00:00', 'updated_at': None}]} GET: /v1/ports/detail?sort_key=pxe_enabled {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-ada2f408-95c0-4591-a32c-f5d2b7fb7f4d X-Openstack-Ironic-Api-Maximum-Version: 1.68 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?portgroup=6eb02b44-18a3-4659-8c0b-8d2802581ae4 {} GOT:{'ports': []} GET: /v1/ports {} GOT:{'ports': []} GET: /v1/ports?address=aa:bb:cc:dd:ee:f1 {} GOT:{'ports': [{'uuid': '3a16644d-eea9-4c5c-ab23-eac12c4d2420', 'address': 'aa:bb:cc:dd:ee:f1', 'links': [{'href': 'http://localhost/v1/ports/3a16644d-eea9-4c5c-ab23-eac12c4d2420', 'rel': 'self'}, {'href': 'http://localhost/ports/3a16644d-eea9-4c5c-ab23-eac12c4d2420', 'rel': 'bookmark'}]}]} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/local_link_connection/network_type', 'op': 'remove'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-bbb4dafa-a725-4a6c-a4c0-f93e79fd5133 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.63 {"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-f08fe5b4-2543-4059-98fc-a3dfa4dbec23 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '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-67754534-6254-4aac-9a6a-16d967a9be99 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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_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-1cbabfb1-2026-44ca-853d-bc0217a84747 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': {}, '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-85834c33-fa8e-47f7-8890-6b13c33dd9b1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-eacf2c2f-78e1-44ee-8326-b6b40bc6d190 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:26.234841+00:00", "updated_at": null}{3} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_node_uuid_to_node_id_mapping [2.787413s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_false_and_fields [0.042614s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_using_query_old_version [0.032796s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_portgroup_by_address_non_existent_address [0.032987s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_not_allowed [0.025447s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_multi [0.053823s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root [0.053095s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties [0.056756s] ... ok {17} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_cleaning [0.072727s] ... ok {17} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_memory_mb [0.052281s] ... ok {17} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_in_progress [0.054544s] ... ok {17} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_data_drive [0.040578s] ... ok {17} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_get_power_state [0.037663s] ... ok {17} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state [0.049793s] ... ok {17} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_set_power_state_not_reached [0.050598s] ... ok {17} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_should_write_image [0.082379s] ... ok {17} ironic.tests.unit.drivers.modules.storage.test_external.ExternalInterfaceTestCase.test_should_write_image [0.078378s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_deploy_steps [0.047063s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_uuid_from_result_fails [0.819781s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_capabilities_as_string [0.116567s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestHeartbeat.test_ok_by_name [0.036710s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_deploy_templates [0.007111s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_node_rebuild_with_configdrive [0.006843s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups_subcontrollers [0.006263s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs_fail [0.010141s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning [0.052499s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_file_image_no_checksum [0.063190s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum_os_algo [0.063305s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_raw_stream_enabled [0.050603s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_http_image [0.017142s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail [0.050111s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs_fail [0.006763s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_configdrive_as_dict_invalid [0.014207s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_always [0.049671s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_none [0.006989s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_driver_type_none [0.006795s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_pinned [0.008209s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_multi [0.061916s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_byid [0.056419s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_non_software_raid [0.048468s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_on_software_raid_exception [0.061239s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_uefi [0.047498s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_action_oob_power_off_failed [0.063104s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_in_maintenance_abort [0.294753s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_cleaning_deploying [0.107325s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command [0.007151s] ... ok {17} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify [0.782408s] ... ok {17} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_make_persistent_password_file_fail [0.011029s] ... ok {17} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail [0.019680s] ... ok {17} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_all [0.030947s] ... ok {17} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_clears_non_pregenerated_token [0.032309s] ... ok {17} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_bios_without_by_arch [0.008714s] ... ok {17} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_in_by_arch [0.008526s] ... ok {17} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images_fail [0.014232s] ... ok {17} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_all_supported_capabilities [0.005982s] ... ok {17} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_whole_disk_image [0.006087s] ... ok {17} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_no_clean_up [0.014668s] ... ok {17} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_master_out_of_date [0.010440s] ... ok {17} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_no_dest [0.007721s] ... ok {17} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_without_qs [0.014396s] ... ok {17} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok_managed_no_power_off [0.027372s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state_exception [0.050346s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_force_set_boot_device_ok [0.060159s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_persistent [0.054239s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_unknown_exception [0.015715s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_have_credentials [0.017239s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__get_ipmi_cmd [0.044827s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_default [0.088935s] ... ok {17} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_bios [0.108342s] ... ok {17} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_with_deployment_reboot [0.068844s] ... ok {17} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_good_api_url [0.037732s] ... ok {17} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_always_logout_and_delete_iscsi [0.016888s] ... ok {17} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_localboot [0.013267s] ... ok {17} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_netboot [0.013582s] ... ok {17} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_login_iscsi_calls_raises_during_cleanup [0.024333s] ... ok {17} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_load_by_name [0.016328s] ... ok {17} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_localboot_active [0.080240s] ... ok {17} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot [0.065175s] ... ok {17} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.090759s] ... ok {17} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_glance_conn_problem [0.070710s] ... ok {17} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_maintenance [0.058807s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_err [0.052137s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_off [0.013185s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_state_on [0.011339s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_on [0.015607s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_snmp_objects [0.010908s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_delay [0.013191s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_delay [0.013549s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_snmp_failure [0.011357s] ... ok {17} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot [0.048685s] ... ok {17} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device [0.052261s] ... ok {17} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_deploy_and_clean_step_priority_only [0.006780s] ... ok {17} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_check_func_references [0.006388s] ... ok {17} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_delete_existing [0.009121s] ... ok {17} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_apply_configuration_invalid [0.008300s] ... ok {17} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_force_persistent_boot_true [0.058707s] ... ok {17} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability_returns_none [0.015249s] ... ok {17} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_normalize_mac_string [0.013616s] ... ok {17} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_id [0.011171s] ... ok {17} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_set [0.009151s] ... ok {17} ironic.tests.unit.objects.test_node.TestNodeObject.test_touch_provisioning [0.011385s] ... ok {17} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_invalid_status_fails [0.005666s] ... ok {17} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_has_secrets [0.005111s] ... ok {17} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema_no_object_field [0.005435s] ... ok {17} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version [0.004964s] ... ok {17} ironic.tests.unit.objects.test_objects.TestObject.test_assign_value_without_DictCompat [0.005011s] ... ok {17} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old [0.005263s] ... ok 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-acd20116-baaa-408a-a71f-9a5045badd3d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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}"} 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-cea53fe8-7864-4d14-b2ae-c3aa97cad41e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:26.016131+00:00", "updated_at": null} GET: /v1/volume/targets {} GOT:{'targets': [{'uuid': '826ca53c-7fe5-484a-b451-2c3617b297fa', 'volume_type': 'iscsi', 'boot_index': 0, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/826ca53c-7fe5-484a-b451-2c3617b297fa', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/826ca53c-7fe5-484a-b451-2c3617b297fa', 'rel': 'bookmark'}]}, {'uuid': '9cbf313e-82a5-44dd-b8f3-4e4904511643', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/9cbf313e-82a5-44dd-b8f3-4e4904511643', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/9cbf313e-82a5-44dd-b8f3-4e4904511643', 'rel': 'bookmark'}]}, {'uuid': '4d818d7a-9268-4851-89af-98df3d8296a0', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/4d818d7a-9268-4851-89af-98df3d8296a0', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/4d818d7a-9268-4851-89af-98df3d8296a0', '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=4d818d7a-9268-4851-89af-98df3d8296a0'} 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-1387a3e1-9d7e-4942-8693-82c20823137f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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', '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-28db8229-2752-4791-a8f6-70f38e77bfd0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:26.149829+00:00", "updated_at": "2021-01-19T06:02:26.153265+00:00"} GET: /v1/ {} GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.68'}, 'portgroups': [{'href': 'http://localhost/v1/portgroups/', 'rel': 'self'}, {'href': 'http://localhost/portgroups/', 'rel': 'bookmark'}], 'lookup': [{'href': 'http://localhost/v1/lookup/', 'rel': 'self'}, {'href': 'http://localhost/lookup/', 'rel': 'bookmark'}], 'heartbeat': [{'href': 'http://localhost/v1/heartbeat/', 'rel': 'self'}, {'href': 'http://localhost/heartbeat/', 'rel': 'bookmark'}]} Running batches of 50 until migrations have been completed. Data migrations have completed. {17} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db_pinned [0.007363s] ... ok {17} ironic.tests.unit.objects.test_objects.TestObject.test_hydration_bad_ns [0.009014s] ... ok {17} ironic.tests.unit.objects.test_objects.TestObject.test_load [0.005138s] ... ok {17} ironic.tests.unit.objects.test_objects.TestObject.test_loaded_in_primitive [0.005128s] ... ok {17} ironic.tests.unit.objects.test_objects.TestObject.test_orphaned_object [0.005358s] ... ok {17} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_backports [0.006334s] ... ok {17} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_no_remove_non_default [0.008110s] ... ok {17} ironic.tests.unit.objects.test_port.TestPortObject.test_save_after_refresh [0.025240s] ... ok {17} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_address [0.010536s] ... ok {17} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_name [0.017862s] ... ok {17} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_get [0.017352s] ... ok {17} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save [0.019956s] ... ok {17} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_uuid [0.013274s] ... ok GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-56624e6d-b310-47b7-9588-5836c33b06bf {"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-3bba3e7b-e54f-4516-be3e-b35faff118b8 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} Running batches of 50 until migrations have been completed. Data migrations have completed. 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-45a99474-9aab-4d95-b472-d2ed18a48a54 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:23.754444+00:00", "updated_at": null} 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': '2021-01-19T06:02:23.754444+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-52c02fe9-928f-4f08-a652-52c7dff67f3f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:23.807357+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': '2021-01-19T06:02:23.807357+00:00', 'updated_at': None} POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'x'} GOT:Response: 202 Accepted Openstack-Request-Id: req-6efffddd-7f4c-411d-958b-8415ad622a4f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 GET: /v1/lookup {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-cf05692d-432b-4c4e-a58c-e5e3764d85b3 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"At least one of 'addresses' and 'node_uuid' parameters is required\", \"debuginfo\": null}"} GET: /v1/volume/connectors {} GOT:{'connectors': [{'uuid': '233aa0e8-6392-430f-b525-c22db9c15641', 'type': 'iqn', 'connector_id': 'test-connector_id-0', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/233aa0e8-6392-430f-b525-c22db9c15641', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/233aa0e8-6392-430f-b525-c22db9c15641', 'rel': 'bookmark'}]}, {'uuid': '97a84168-fa66-4334-9f6e-b1bb46b4f140', 'type': 'iqn', 'connector_id': 'test-connector_id-1', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/97a84168-fa66-4334-9f6e-b1bb46b4f140', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/97a84168-fa66-4334-9f6e-b1bb46b4f140', 'rel': 'bookmark'}]}, {'uuid': '536698b0-68aa-4394-9336-6caf185e92ef', 'type': 'iqn', 'connector_id': 'test-connector_id-2', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/536698b0-68aa-4394-9336-6caf185e92ef', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/536698b0-68aa-4394-9336-6caf185e92ef', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,type,connector_id&limit=3&marker=536698b0-68aa-4394-9336-6caf185e92ef'} GET: /v1/volume/targets/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-5d0d1c5c-6a7f-4c21-834c-336d3da3c0ee X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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}"} 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-4f65fa71-a444-4b97-a424-5cf02cf283dc X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute boot_index. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} GET: /v1/ {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-934157d5-5bcf-4c00-add2-09d80c42819a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.68"}}{13} ironic.tests.unit.api.test_acl.TestACL.test_public_api_with_path_extensions [3.445116s] ... ok {13} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_serverfault_debug_tracebacks [0.021285s] ... ok {13} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_remote_error_success [0.019528s] ... ok {13} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug [0.019372s] ... ok {13} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_valid_cors_options_request [0.018732s] ... ok {13} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_root [0.019502s] ... ok {13} ironic.tests.unit.api.test_types.TestTypes.test_validate_list_valid [0.005775s] ... ok {13} ironic.tests.unit.api.test_types.TestTypes.test_wsattr_del [0.006405s] ... ok {13} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_invalid_option2 [0.009743s] ... ok {13} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_duplicated_entry [0.009880s] ... ok {13} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_driver_init_checks_unsupported [0.009786s] ... ok {13} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task [0.042575s] ... ok {13} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface_default_from_conf [0.015416s] ... ok {13} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_httpnotfound_converts_to_imagenotfound [0.006230s] ... ok {13} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_url_bad_no_info [0.005635s] ... ok {13} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_driver_not_found [0.036844s] ... ok {13} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link [0.017404s] ... ok {13} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_http_scheme [0.010398s] ... ok {13} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso [0.009107s] ... ok {13} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_with_ExecutionError [0.008374s] ... ok {13} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_uefi_rootfs_fails [0.013952s] ... ok {13} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_failure [0.012040s] ... ok {13} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_failure_with_version_and_cap [0.009158s] ... ok {13} ironic.tests.unit.common.test_json_rpc.TestService.test_notification [0.017102s] ... ok {13} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network_instance_uuid [0.059970s] ... ok {13} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled [0.049966s] ... ok {13} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_down [0.019202s] ... ok {13} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_invalid_power_update [0.023648s] ... ok {13} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_3 [0.021416s] ... ok {13} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_is_member [0.011837s] ... ok {13} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_node_get [0.010567s] ... ok {13} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_admin_api [0.009816s] ... ok {13} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_without_is_whole_disk_image [0.054031s] ... ok {13} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_missing_deploy_kernel [0.014850s] ... ok {13} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_deploy [0.013850s] ... ok {13} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_instance_info [0.051328s] ... ok {13} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_grub_config [0.022457s] ... ok {13} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_rescue_kr_info [0.014771s] ... ok {13} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_root_dir [0.015489s] ... ok {13} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_no_logical_disk [0.008364s] ... ok {13} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_context [0.005552s] ... ok {13} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier [0.005645s] ... ok {13} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_get_root_helper [0.006825s] ... ok {13} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_no_env_variables [0.007358s] ... ok {13} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test__get_hash_object [0.017981s] ... ok {13} ironic.tests.unit.common.test_utils.ValidateConductorGroupTestCase.test_validate_conductor_group_success [0.005538s] ... ok {13} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_transient_node [0.063535s] ... ok {13} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_retired_last_step_change_tgt_state [0.068163s] ... ok {13} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_none [0.173237s] ... ok {13} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_first_agent_boot [0.165402s] ... ok {13} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_physnet_validation_failure_inconsistent [0.045898s] ... ok {13} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_already_destroyed [0.070223s] ... ok {13} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_no_required_agent_token [0.147209s] ... ok {13} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_worker_pool_full [0.165922s] ... ok {13} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue [0.318415s] ... ok {13} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_power_validate_fail [0.077525s] ... ok {13} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue_validate_fail [0.046316s] ... ok {13} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_exception [0.165569s] ... ok {13} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_with_allocation [0.201032s] ... ok {13} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_acquire_node_disappears [0.014358s] ... ok {13} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_worker_limit [0.013435s] ... ok {13} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_exit_with_other_exception [0.013177s] ... ok {13} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_exceptions_skipping [0.140072s] ... ok {13} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_validate_fail [0.018971s] ... ok {13} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test__sync_power_state_multiple_nodes [0.020927s] ... ok /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: 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:376: 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) {13} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_ok [0.161270s] ... ok {13} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_raises_error [0.158155s] ... ok {13} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config [0.066418s] ... ok {13} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_partial_ok [0.173467s] ... ok {13} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_validation_failure_inconsistent [0.052239s] ... ok {13} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target [0.054660s] ... ok {13} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_not_found [0.048336s] ... ok {13} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_http_method_not_supported [0.135995s] ... ok {13} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_power_set_notification [0.016066s] ... ok {13} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_false [0.011306s] ... ok {13} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions [0.012833s] ... ok {13} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits [0.012789s] ... ok {13} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_manual [0.062476s] ... ok {13} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_disable_core_steps [0.050839s] ... ok {13} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps [0.049179s] ... ok {13} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_steps_from_deployment_templates [0.046113s] ... ok {13} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_callback_stable_state [0.009234s] ... ok {13} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_teardown [0.007098s] ... ok {13} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_other_exc [0.009879s] ... ok {13} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on_storage_attach [0.074348s] ... ok {13} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_1 [0.050690s] ... ok {13} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_inconsistent_physnets [0.052501s] ... ok {13} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_name [0.016415s] ... ok {13} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_not_found [0.261074s] ... ok {13} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions [0.030353s] ... ok {13} ironic.tests.unit.db.test_api.GetNotVersionsTestCase.test_get_not_versions_no_model [0.014232s] ... ok {13} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_duplicate [0.022939s] ... ok {13} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_destroy_chassis_with_nodes [0.023171s] ... ok {13} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_list_hardware_type_interfaces [0.025994s] ... ok {13} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_name [0.016691s] ... ok {13} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_extra [0.015775s] ... ok {13} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_node_not_found [0.015504s] ... ok {13} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_destroy_node_that_does_not_exist [0.011919s] ... ok {13} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_id [0.034881s] ... ok {13} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_inspection [0.023105s] ... ok {13} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_cols [0.025292s] ... ok {13} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning_not_found [0.009503s] ... ok {13} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_started_at [0.023942s] ... ok {13} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_name [0.014181s] ... ok {13} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_project [0.017020s] ... ok {13} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id_that_does_not_exist [0.014401s] ... ok {13} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_uuid [0.013384s] ... ok {13} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_dhcp_some_failures [0.046584s] ... ok {13} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook [0.015939s] ... ok {13} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_noop [0.090888s] ... ok {13} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_missing_oem [0.051912s] ... ok {13} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_not_flexibly_programmable [0.022554s] ... ok {13} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_called_with_unknown_boot_mode [0.023070s] ... ok {13} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs_drac [0.021524s] ... ok {13} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__validate_volume_size_requested_less_than_actual_size [0.037437s] ... ok {13} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config [0.016781s] ... ok {13} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_properties [0.037288s] ... ok {13} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_nonroot [0.075567s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_missing_parameter [0.038592s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings_with_ilo_error [0.038411s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_bootloader_none [0.014451s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_deploy [0.014189s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_iso [0.014934s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance [0.050043s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_bios [0.055010s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_glance_image [0.046139s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.084408s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.089844s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_webserver [0.059365s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info [0.006671s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_deploy [0.051203s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_supported_boot_modes_1___legacy_bios_only_____bios___ [0.043292s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_not_supported [0.053290s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_bios_to_default [0.051888s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_iscsi_boot_target_in_bios [0.068683s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_deploying [0.064534s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_invalid_state [0.044450s] ... ok {13} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_maintenance [0.048498s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_default [1.359025s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_secure_boot_false [0.059769s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_ip [0.074566s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_gpu_cpu_fpgas_zero_and_existing_cap [0.040560s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_0 [0.014447s] ... ok {13} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_difference_physical_disks_type [0.036956s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_portgroup_uuid [0.076844s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_no_matching_physnets [0.051146s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports [0.047557s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port_extra [0.053690s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_no_client [0.051432s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_novif_pxe_portgroup_nostandalone_ports [0.125923s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_not_attached [0.018539s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports [0.049511s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_from_node [0.061825s] ... ok {13} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_cleaning_network [0.052219s] ... ok {13} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings [0.081727s] ... ok {13} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__eject_vmedia_not_inserted [0.039577s] ... ok {13} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_deploy [0.034603s] ... ok {13} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_rescue [0.039279s] ... ok {13} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_bios_boot_iso_conflicting_image_source [0.040281s] ... ok {13} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_local_gb [0.063298s] ... ok {13} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_fail [0.078795s] ... ok {13} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_devices [0.035510s] ... ok {13} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail_no_change [0.064237s] ... ok {13} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency_no_change [0.078148s] ... ok {13} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_fail [0.072598s] ... ok {13} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_fails_iscsi_conn_fc_target [0.071444s] ... ok {13} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_iscsi_connector [0.059626s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up [0.746884s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_no_manage_agent_boot [0.061498s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate [0.045608s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_power_on [0.071208s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_adopting [0.052929s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_tear_down_cleaning_manage_agent_boot_false [0.048231s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_proxies [0.045770s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_automated_clean_version_mismatch [0.263658s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot_prep_partition [0.056663s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent [0.061884s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step [0.049347s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step [0.047555s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_agent_client [0.007252s] ... ok {13} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image [0.007209s] ... ok {13} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file_not_found [0.009668s] ... ok {13} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_not_a_num [0.011295s] ... ok {13} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_success [0.013735s] ... ok {13} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_default_timeout [0.749152s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_none [0.014539s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test__check_disk_layout_unchanged [0.012470s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_ephemeral_disk [0.011592s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_nonglance_image [0.012575s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities_string [0.005623s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_instance_info_with_exc [0.005447s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_trusted_boot_capability [0.005775s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_check_interface_capability [0.013291s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.TrySetBootDeviceTestCase.test_try_set_boot_device_ipmifailure_uefi [0.064355s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image [0.015580s] ... ok {13} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good [0.014126s] ... ok {13} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_copy [0.040998s] ... ok {13} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error_managed_no_power_off [0.029889s] ... ok {13} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_validate_ok [0.016073s] ... ok {13} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_unmanaged_error [0.028626s] ... ok {13} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_ok [0.016235s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__bmc_reset_ok [0.052928s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent [0.052289s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_2 [0.048542s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_timeout_ok [0.048072s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_good [0.049461s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_empty_username [0.018913s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_port_valid [0.016712s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_pass [0.019301s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off [0.049369s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_stop_console_fail [0.045937s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot [0.061747s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.081491s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_always [0.092360s] ... ok {13} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_sloppy_true [0.360028s] ... ok {13} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_get_properties [0.034218s] ... ok {13} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_check_file_system_for_iscsi_device [0.006878s] ... ok {13} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_without_boot_option [0.011830s] ... ok {13} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_bios [0.005822s] ... ok {13} ironic.tests.unit.drivers.modules.test_noop_mgmt.TestNoopManagement.test_dummy_methods [0.005241s] ... ok {13} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk [0.084570s] ... ok {13} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_bool_true [0.085415s] ... ok {13} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.076219s] ... ok {13} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_validate_calls_boot_validate [0.042902s] ... ok {13} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_snmp_objects [0.009876s] ... ok {13} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_snmp_objects [0.010070s] ... ok {13} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_snmp_objects [0.009490s] ... ok {13} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on_snmp_get_failure [0.013966s] ... ok {13} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_default_version [0.008760s] ... ok {13} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_outlet [0.008885s] ... ok {13} ironic.tests.unit.drivers.test_base.CleanStepTestCase.test_get_and_execute_clean_steps [0.007563s] ... ok {13} ironic.tests.unit.drivers.test_base.TestBIOSInterface.test_factory_reset_wrapper [0.006542s] ... ok {13} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_indicator_state_default_impl [0.007938s] ... ok {13} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_inspect_interface [0.042392s] ... ok {13} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_indicator_state [0.039315s] ... ok {13} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_properties [0.042831s] ... ok {13} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_power_interface [0.039671s] ... ok {13} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_pxe [0.039728s] ... ok {13} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_store_ramdisk_logs_swift [0.016309s] ... ok {13} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_add_node_capability_append_duplicate [0.052704s] ... ok {13} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group [0.013752s] ... ok {13} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_touch [0.013532s] ... ok {13} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister [0.012841s] ... ok {13} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_unregister_all_hardware_interfaces [0.015981s] ... ok {13} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_destroy [0.011766s] ... ok {13} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_save [0.011206s] ... ok {13} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_create_with_node [0.027497s] ... ok {13} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce [0.006583s] ... ok {13} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_supported_untouched [0.009995s] ... ok {13} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_set [0.010781s] ... ok {13} ironic.tests.unit.objects.test_node.TestNodeObject.test_create [0.012308s] ... ok {13} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_map_version_bad [0.005994s] ... ok {13} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_old_keep [0.007225s] ... ok {13} ironic.tests.unit.objects.test_objects.TestObject.test_supports_version [0.007381s] ... ok {13} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_conductor [0.006471s] ... ok {13} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization [0.006043s] ... ok {13} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_pinned_conductor [0.006872s] ... ok {13} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_missing [0.008380s] ... ok {13} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_default [0.008908s] ... ok {13} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_no_remove_non_default [0.008059s] ... ok {13} ironic.tests.unit.objects.test_port.TestPortObject.test_payload_schemas [0.008318s] ... ok {13} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get [0.011518s] ... ok {13} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_volume_id [0.009880s] ... ok {13} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_payload_schemas [0.008705s] ... ok POST: /v1/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url', 'agent_token': 'meow', 'agent_verify_ca': 'abcdef1'} GOT:Response: 202 Accepted Openstack-Request-Id: req-f15fa8af-8cc4-42b8-a4ad-66116b2cd409 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 GET: /v1/volume/connectors/?limit=3 {} GOT:{'connectors': [{'uuid': 'ad8b4644-e195-4964-aed0-18213eab8266', 'type': 'iqn', 'connector_id': 'test-connector_id-0', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/ad8b4644-e195-4964-aed0-18213eab8266', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ad8b4644-e195-4964-aed0-18213eab8266', 'rel': 'bookmark'}]}, {'uuid': 'bdc150ab-9905-4748-bab7-e6a0871b0b05', 'type': 'iqn', 'connector_id': 'test-connector_id-1', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/bdc150ab-9905-4748-bab7-e6a0871b0b05', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/bdc150ab-9905-4748-bab7-e6a0871b0b05', 'rel': 'bookmark'}]}, {'uuid': '2a87f6df-7704-42f1-9852-c774f8436b6d', 'type': 'iqn', 'connector_id': 'test-connector_id-2', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/2a87f6df-7704-42f1-9852-c774f8436b6d', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/2a87f6df-7704-42f1-9852-c774f8436b6d', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,node_uuid,type,connector_id&limit=3&marker=2a87f6df-7704-42f1-9852-c774f8436b6d'} 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': '2021-01-19T06:02:23.036296+00:00', 'updated_at': None}]} GET: /v1/volume/connectors/detail {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f8af364e-d08d-4c5f-abb4-65413a718982 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781?fields=uuid,spongebob {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-301d06f0-fd48-460d-8189-64de0fae6a4b X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} 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-9f2069e4-de0f-4af6-a0c0-3ea52ce478df X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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/4bc865b6-4c27-48c2-b714-7c5b31458156 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-801feee7-f985-4ec0-8a92-7ab10323d36b X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Volume connector 4bc865b6-4c27-48c2-b714-7c5b31458156 could not be found.\", \"debuginfo\": null}"} GET: /v1/volume/targets {} GOT:{'targets': [{'uuid': 'f690d498-164f-4a7d-b8d4-494f2bd7b335', 'volume_type': 'iscsi', 'boot_index': 0, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/f690d498-164f-4a7d-b8d4-494f2bd7b335', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/f690d498-164f-4a7d-b8d4-494f2bd7b335', 'rel': 'bookmark'}]}, {'uuid': '6e7ff66a-05fe-448e-98bb-d139d397828c', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/6e7ff66a-05fe-448e-98bb-d139d397828c', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/6e7ff66a-05fe-448e-98bb-d139d397828c', 'rel': 'bookmark'}]}, {'uuid': '863b5744-cf45-4ee6-8360-dd7a32421e28', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/863b5744-cf45-4ee6-8360-dd7a32421e28', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/863b5744-cf45-4ee6-8360-dd7a32421e28', 'rel': 'bookmark'}]}, {'uuid': '80157e29-93df-4601-b736-e98dad12a4bb', 'volume_type': 'iscsi', 'boot_index': 3, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/80157e29-93df-4601-b736-e98dad12a4bb', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/80157e29-93df-4601-b736-e98dad12a4bb', 'rel': 'bookmark'}]}, {'uuid': '91002123-5742-4e72-8aee-04c391cba736', 'volume_type': 'iscsi', 'boot_index': 4, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/91002123-5742-4e72-8aee-04c391cba736', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/91002123-5742-4e72-8aee-04c391cba736', 'rel': 'bookmark'}]}]} 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-b365c48c-7ae4-4b9a-a249-e84358e272ba X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:23.303838+00:00", "updated_at": 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-3294df37-8c80-475c-9058-4162f76d05cb X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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}{18} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target [1.278068s] ... ok {18} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_valid_extra [0.070089s] ... ok {18} ironic.tests.unit.api.test_args.TestArgs.test_fromjson_dict [0.005987s] ... ok {18} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_not_admin [0.022423s] ... ok {18} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_without_traceback_debug_tracebacks [0.019800s] ... ok {18} ironic.tests.unit.api.test_types.TestTypes.test_binary_from_base [0.005876s] ... ok {18} ironic.tests.unit.api.test_types.TestTypes.test_unregister_twice [0.005417s] ... ok /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: 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:376: 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) {18} ironic.tests.unit.cmd.test_conductor.ConductorStartTestCase.test_warn_about_unsafe_shred_parameters_zeros [0.018396s] ... ok {18} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_begin_detaching_failure [0.052071s] ... ok {18} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_vol_not_found [0.047396s] ... ok {18} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_no_answer_drivername [0.008492s] ... ok {18} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_unsupported [0.008415s] ... ok {18} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_configured_defaults [0.038418s] ... ok {18} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_hardware_type_success_groups [0.029472s] ... ok {18} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_reset_interval [0.019857s] ... ok {18} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_file_image_service [0.007304s] ... ok {18} ironic.tests.unit.common.test_json_rpc.TestService.test_serialize_objects [0.023297s] ... ok {18} ironic.tests.unit.common.test_network.GetPhysnetsByPortgroupID.test_empty [0.040884s] ... ok {18} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_missing [0.007218s] ... ok {18} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network [0.047543s] ... ok {18} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_agent_down [0.015390s] ... ok {18} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_up [0.016624s] ... ok {18} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_up [0.016395s] ... ok {18} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_failure [0.013870s] ... ok {18} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port [0.006999s] ... ok {18} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_show_password [0.009337s] ... ok {18} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_passes [0.009475s] ... ok {18} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path_ipxe [0.013540s] ... ok {18} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info_bad_driver_info [0.012917s] ... ok {18} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_physical_disks [0.007797s] ... ok {18} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_object_names_are_registered [0.005644s] ... ok {18} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_structure [0.006715s] ... ok {18} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_publisher_id [0.005638s] ... ok {18} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_enabled [0.034218s] ... ok {18} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac [0.007025s] ... ok {18} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_resume_allocations [0.118905s] ... ok {18} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_candidate_nodes_mismatch [0.060034s] ... ok {18} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles [1.982553s] ... ok {18} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns_and_debug [0.112712s] ... ok {18} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_execute_fail [0.076000s] ... ok {18} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_no_steps [0.110145s] ... ok {18} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_no_steps [0.111501s] ... ok {18} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled_individual_disabled [0.068062s] ... ok {18} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_first_step_async [0.069066s] ... ok {18} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_exception [0.202071s] ... ok {18} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok [0.186160s] ... ok {18} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive [0.039234s] ... ok {18} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_validate_fail [0.045031s] ... ok {18} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_no_state_change [0.195845s] ... ok {18} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_spawn_fail [0.183868s] ... ok {18} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_start_fail [0.155169s] ... ok {18} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_worker_pool_full [0.142233s] ... ok {18} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort [0.157855s] ... ok {18} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_invalid_state [0.139875s] ... ok {18} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_validate_fail [0.043303s] ... ok {18} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_indicator_state [0.044236s] ... ok {18} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_not_mapped [0.012381s] ... ok {18} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_to_maintenance_after_lock [0.012498s] ... ok {18} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_correct_power_state_on_upgrade_lock [0.016467s] ... ok {18} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_locked_on_acquire [0.013435s] ... ok {18} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_snmp [0.089847s] ... ok {18} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_driver_interfaces_validation_fail_deploy_templates [0.037991s] ... ok {18} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_validate_dynamic_driver_interfaces [0.038701s] ... ok {18} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspecting [0.149855s] ... ok {18} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action [0.008867s] ... ok {18} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_raise [0.008015s] ... ok {18} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_locked [0.058787s] ... ok {18} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_type [0.048078s] ... ok {18} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_sync [0.137566s] ... ok {18} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_allocation [0.012551s] ... ok {18} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_steps_only_enabled [0.036718s] ... ok {18} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_get_steps_exception [0.045404s] ... ok {18} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_invalid_arg [0.043081s] ... ok {18} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_second_arg [0.006219s] ... ok {18} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_on_error_hook [0.018869s] ... ok {18} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler [0.006840s] ... ok {18} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_unknown_exc [0.015551s] ... ok {18} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler_set_failed_state_false [0.007954s] ... ok {18} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_true [0.050488s] ... ok {18} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state_notify [0.101611s] ... ok {18} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_2 [0.054890s] ... ok {18} ironic.tests.unit.conf.test_auth.AuthConfTestCase.test_add_auth_opts [0.008356s] ... ok {18} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class [0.005488s] ... ok {18} ironic.tests.unit.db.sqlalchemy.test_models.TestGetClass.test_get_class_bad [0.005465s] ... ok {18} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_one_ht [0.021392s] ... ok {18} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_remove_all [0.017820s] ... ok {18} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace_args [0.018984s] ... ok {18} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag [0.019672s] ... ok {18} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_empty_node_traits [0.023666s] ... ok {18} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_name_duplicate [0.024298s] ... ok {18} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_id_that_does_not_exist [0.016271s] ... ok {18} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_that_does_not_exist [0.017159s] ... ok {18} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_dhcp_some_error [0.026046s] ... ok {18} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_for_portgroup [0.048328s] ... ok {18} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_provisioning [0.049213s] ... ok {18} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts [0.047689s] ... ok {18} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_force_reboot [0.064682s] ... ok {18} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables [0.050636s] ... ok {18} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_override [0.014704s] ... ok {18} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix [0.014024s] ... ok {18} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable_with_no_bios_setting [0.015100s] ... ok {18} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_list_unfinished_jobs_with_clean_step [0.019130s] ... ok {18} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_boot_device_from_driver_internal_info [0.038407s] ... ok {18} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_nodes [0.015065s] ... ok {18} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state_fail [0.038094s] ... ok {18} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_abandon_config_fail [1.211957s] ... ok {18} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_fail [0.016895s] ... ok {18} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_create_virtual_disk [0.016632s] ... ok {18} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode_fail [0.054076s] ... ok {18} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_timeout [0.056826s] ... ok {18} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_get_power_state [0.044630s] ... ok {18} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_not_reached [0.060132s] ... ok {18} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_validate [0.040546s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_apply_configuration [0.059840s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_cleaning [0.048232s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_non_glance_partition_image [0.054084s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_cleaning [0.062894s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image [0.098203s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_eject_vmedia_devices_raises [0.055898s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode [0.016111s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_server_post_state [0.047829s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia [0.050314s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_ca_file_and_snmp_inspection_true [0.017459s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_address [0.016111s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_file_based_fw_to_copies_file_to_target [0.019822s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_capabilities_ok [0.067765s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict [0.014994s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__validate_essential_keys_fail_missing_key [0.014937s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd [0.067516s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_ssd_when_hdd_done [0.083619s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_when_no_drive_available [0.049912s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_environment_error_clean [0.064109s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_mode_fail [0.235297s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_root_skip_non_root_deploying [0.056005s] ... ok {18} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_failed_cleaning [0.084428s] ... ok {18} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_agent_rescue [0.045877s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_bios.IRMCBIOSTestCase.test_apply_configuration [0.060015s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_fail [0.052005s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__get_iso_name [0.015549s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_not_in_share [0.016691s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_exists [0.079339s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk [0.092728s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_clean_up_instance_with_secure_boot [0.057757s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.061913s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__cleanup_boot_from_volume [0.055209s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_multi_lan_ports [0.109999s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectInternalMethodsTestCase.test__inspect_hardware_exception [0.041544s] ... ok {18} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__commit_raid_config_with_logical_drives [0.040947s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_port_physnets [0.076109s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet3 [0.081384s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_empty_portgroup [0.050739s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_nopxe_ports [0.052294s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_not_attached [0.051317s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__save_vif_to_port_like_obj_portgroup [0.024926s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_cleaning [0.051630s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_internal_info_tenant_vif [0.048734s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_rescuing_network [0.048658s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_no_ports_for_node [0.049549s] ... ok {18} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_remove_provisioning_network [0.046461s] ... ok {18} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_floppy [0.071445s] ... ok {18} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_done [0.055221s] ... ok {18} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_update_firmware [0.050651s] ... ok {18} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_auth_basic [0.041683s] ... ok {18} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_expire_old_sessions [0.046871s] ... ok {18} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_detach_called_with_target_and_connector [0.069071s] ... ok {18} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_fc_boot_no_connectors [0.064301s] ... ok {18} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_connectors [0.065305s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_with_deployment_reboot [0.073759s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_image_compat [0.070670s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_compat [0.058926s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_partition_image [0.057453s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance_no_power_on [0.052815s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_enforce_persistent_boot_device_never [0.047398s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_reboot [0.063754s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_exc [0.053059s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue [0.067202s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent_base.TestRefreshCleanSteps.test_refresh_steps_deploy [0.058595s] ... ok {18} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_content_type_header [0.007204s] ... ok {18} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_bios [0.007251s] ... ok {18} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_no_pid [0.024312s] ... ok {18} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_config_template_override_pxe_fallback [0.016476s] ... ok {18} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_false [0.049427s] ... ok {18} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_fail [0.018685s] ... ok {18} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_disk_label [0.006905s] ... ok {18} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_ipxe_config_whole_disk_image [0.008468s] ... ok {18} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_get_remote_boot_volume_none [0.073137s] ... ok {18} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_error [0.018789s] ... ok {18} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client [0.603263s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_console_init_calls_for_socat_already_checked [0.219536s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_2 [0.008786s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_pass [0.007897s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_fail [0.007786s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_debug [0.016081s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_ok [0.014926s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_ok [0.048211s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi [0.051343s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_onetime_smci [0.058345s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_off_ok [0.048995s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_ok [0.047683s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_cipher_suite [0.022274s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_password [0.021672s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_tempfile_known_exception [0.017947s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_terminal_port_specified [0.017331s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_no_bridging [0.017697s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_insufficient_resources_for_session [0.019672s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate [0.036059s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_get_properties [0.038883s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes_set_unsupported [0.090430s] ... ok {18} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good [0.044296s] ... ok {18} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down_cleaning [0.051679s] ... ok {18} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size_whole_disk_image_no_root [0.045498s] ... ok {18} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_whole_disk_image_sparse [0.017519s] ... ok {18} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_instance [0.050558s] ... ok {18} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_uefi [0.091953s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next_err_transport [0.046380s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_snmp_objects [0.010811s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_state_off [0.009742s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_off [0.013438s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_on [0.010448s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_timeout [0.046895s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_nokey [0.009537s] ... ok {18} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_context_engine_id [0.008433s] ... ok {18} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_server_hardware_id [0.014747s] ... ok {18} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_get_xclarity_client [0.020966s] ... ok {18} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_get_power_state_fail [0.049949s] ... ok {18} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_priority_only [0.006324s] ... ok {18} ironic.tests.unit.drivers.test_base.TestBareDriver.test_class_variables [0.005278s] ... ok {18} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_get_supported_indicators_default_impl [0.005876s] ... ok {18} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_boot_interface [0.042289s] ... ok {18} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_bios_configuration [0.047318s] ... ok {18} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_list [0.010164s] ... ok {18} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_sync_node_setting_delete_nochange [0.025569s] ... ok {18} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_with_update [0.012156s] ... ok {18} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_create [0.474047s] ... ok {18} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_id [0.009604s] ... ok {18} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list [0.009678s] ... ok {18} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_refresh [0.024646s] ... ok {18} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_set [0.013114s] ... ok {18} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_missing [0.008664s] ... ok {18} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_unsupported_set_no_remove_default [0.008890s] ... ok {18} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_missing [0.008451s] ... ok {18} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_set_no_remove_default [0.008911s] ... ok {18} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_default [0.008451s] ... ok {18} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_trait_unsupported_set_no_remove_non_default [0.008991s] ... ok {18} ironic.tests.unit.objects.test_node.TestNodeObject.test_create_with_invalid_properties [0.008907s] ... ok {18} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_no_emit_schema_not_populated [0.011969s] ... ok {18} ironic.tests.unit.objects.test_objects.TestMisc.test_max_version_one [0.005582s] ... ok {18} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict [0.005663s] ... ok {18} ironic.tests.unit.objects.test_objects.TestObject.test_as_dict_with_nested_object_list [0.005552s] ... ok {18} ironic.tests.unit.objects.test_objects.TestObject.test_contains [0.005352s] ... ok {18} ironic.tests.unit.objects.test_objects.TestObject.test_unknown_objtype [0.005804s] ... ok {18} ironic.tests.unit.objects.test_port.TestPortObject.test_list_deprecated_owner [0.009790s] ... ok {18} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_is_smartnic_supported [0.010070s] ... ok {18} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_lower_version [0.010761s] ... ok /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: 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:376: 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) 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. 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-33d6f978-fe6f-4cea-b42b-8b0dc9ea5630 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-884c3d14-f33a-4571-99b3-68896060c291 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 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-2f3e7303-cc5c-4325-9cdb-cb8f48105a8d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DELETE: /v1/nodes/node-39/traits GOT:Response: 204 No Content Openstack-Request-Id: req-7984fbec-0354-4f83-a145-933ccfaa055a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 GET: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781/detail {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-8d40a5c2-38ee-4d04-a53b-686173a7a085 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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?node=test-node {} GOT:{'ports': [{'uuid': 'ef6d7e6a-cbe0-4113-8a11-909c08afa535', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/ef6d7e6a-cbe0-4113-8a11-909c08afa535', 'rel': 'self'}, {'href': 'http://localhost/ports/ef6d7e6a-cbe0-4113-8a11-909c08afa535', 'rel': 'bookmark'}]}, {'uuid': 'fbafa86f-58a9-4643-8ed1-6e6b6ad3ed7c', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/fbafa86f-58a9-4643-8ed1-6e6b6ad3ed7c', 'rel': 'self'}, {'href': 'http://localhost/ports/fbafa86f-58a9-4643-8ed1-6e6b6ad3ed7c', 'rel': 'bookmark'}]}, {'uuid': 'b8e17342-fcb2-4dbd-98f5-09e0c9d53795', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/b8e17342-fcb2-4dbd-98f5-09e0c9d53795', 'rel': 'self'}, {'href': 'http://localhost/ports/b8e17342-fcb2-4dbd-98f5-09e0c9d53795', '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'}]}]} PATCH: /v1/ports/c615238e-eafc-4d9e-8d93-4e2757f3c2e5 [{'path': '/local_link_connection/network_type', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-45bd67d6-9723-41bb-855b-8f873763f9d0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"uuid": "c615238e-eafc-4d9e-8d93-4e2757f3c2e5", "address": "bb:bb:bb:bb:bb:bb", "extra": {}, "internal_info": {"bar": "buzz"}, "node_uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c123", "portgroup_uuid": null, "pxe_enabled": true, "local_link_connection": {}, "physical_network": null, "links": [{"href": "http://localhost/v1/ports/c615238e-eafc-4d9e-8d93-4e2757f3c2e5", "rel": "self"}, {"href": "http://localhost/ports/c615238e-eafc-4d9e-8d93-4e2757f3c2e5", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2021-01-19T06:02:23.122054+00:00", "updated_at": "2021-01-19T06:02:23.154127+00:00"} 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-4eb20c5c-dcfb-4b63-8078-110d4dbd7672 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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', 'value': 'physnet2', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2c50ca48-38b2-4de1-826c-d9fb5d72d32b X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:23.218700+00:00", "updated_at": "2021-01-19T06:02:23.249738+00:00"} 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/ef66bd27-43f8-45c9-9292-cbb3798d7019 Openstack-Request-Id: req-9c8133e0-10ba-490a-8920-921cd959fa90 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "ef66bd27-43f8-45c9-9292-cbb3798d7019", "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/ef66bd27-43f8-45c9-9292-cbb3798d7019", "rel": "self"}, {"href": "http://localhost/ports/ef66bd27-43f8-45c9-9292-cbb3798d7019", "rel": "bookmark"}], "is_smartnic": false, "created_at": "2021-01-19T06:02:23.328620+00:00", "updated_at": null} GET: /v1/ports/ef66bd27-43f8-45c9-9292-cbb3798d7019 {} GOT:{'uuid': 'ef66bd27-43f8-45c9-9292-cbb3798d7019', '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/ef66bd27-43f8-45c9-9292-cbb3798d7019', 'rel': 'self'}, {'href': 'http://localhost/ports/ef66bd27-43f8-45c9-9292-cbb3798d7019', 'rel': 'bookmark'}], 'is_smartnic': False, 'created_at': '2021-01-19T06:02:23.328620+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': '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-74391bfe-1455-4b6f-adce-f6fb7d76895f X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:23.408433+00:00", "updated_at": null}{16} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_extra_vif_port_id [4.263937s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_physical_network_old_api_version [0.043322s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byaddress [0.028828s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_replace_extra_vif_port_id [0.059076s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_extra_vif_port_id [0.043605s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_extra_vif_port_id_deprecated [0.043414s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_fast_deploy_lookup [0.071119s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_path [0.021745s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_replace_non_existent_list_item [0.005745s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_port_physical_network_pin [0.006448s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_filter_by_conductor_group_fail [0.005808s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_manage_verbs [0.006029s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckNodePolicyAndRetrieve.test_check_node_policy_and_retrieve_with_suffix [0.007459s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_method_not_specified [0.005577s] ... ok 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': {'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-99e05338-37a9-4ba8-9275-80f8f1d402f4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:26.480897+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': '2021-01-19T06:02:26.480897+00:00', 'updated_at': None} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-ca99dd67-9c11-4209-a70d-ede3f0f69262 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": \"Traceback (most recent call last):\\n\\n File \\\"/builddir/build/BUILD/ironic-16.0.3/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-16.0.3/ironic/api/controllers/root.py\\\", line 43, in index\\n return root()\\n\\n File \\\"\\\", line 3, in root\\n\\n File \\\"/usr/lib64/python3.6/unittest/mock.py\\\", line 939, in __call__\\n return _mock_self._mock_call(*args, **kwargs)\\n\\n File \\\"/usr/lib64/python3.6/unittest/mock.py\\\", line 999, in _mock_call\\n raise effect\\n\\nException: Error message without traceback \\n but \\n multiline\\n\"}"} GET: /v1/portgroups/detail?sort_key=mode {} GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-4a334baa-4694-48cd-9238-702a512d179d X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '2021-01-19T06:02:23.992631+00:00', 'updated_at': None} 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\": \"\"}"} 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-53556294-c0dc-4387-80b2-0535489faa66 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:24.054629+00:00", "updated_at": null} 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-3314dab7-37af-4dfa-896e-ae68a6cf6a94 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:24.104772+00:00", "updated_at": "2021-01-19T06:02:24.138179+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-783a22b7-9a94-4906-aef0-e609552b471e X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:24.176184+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-de3f9d50-4f75-40b8-9d83-166f36611af2 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:24.216715+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': '2021-01-19T06:02:24.216715+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-a8eddfe4-ad14-4599-b81f-82bb26c09b0a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=8f24dd55-0602-4934-a22f-90ae325823e0 {} GOT:{'node': {'uuid': '8f24dd55-0602-4934-a22f-90ae325823e0', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value', 'agent_secret_token': '******'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'links': [{'href': 'http://localhost/v1/nodes/8f24dd55-0602-4934-a22f-90ae325823e0', 'rel': 'self'}, {'href': 'http://localhost/nodes/8f24dd55-0602-4934-a22f-90ae325823e0', '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, 'agent_token': 'this_thing_on?', 'agent_token_required': True}}{5} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_found_by_uuid [3.785963s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_types.TestListType.test_list_type [0.006609s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_datapath_id [0.005496s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_not_mac_or_datapath_id [0.009362s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_smart_nic_keys_with_optional [0.005265s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_agent_token [0.005754s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_volume [0.006033s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_clean_verbs [0.005708s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs [0.005924s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_provide_verbs_fail [0.005794s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_network_interface [0.006058s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_portgroup_fields_mode_properties [0.005737s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy [0.006957s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_custom_fields_invalid_api_version [0.024688s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root [0.054157s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_root_non_existent [0.039740s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_singular [0.053695s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_update_invalid_api_version [1.519065s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_all_by_node_name_ok [0.066559s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_collection_custom_fields [0.063741s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one_custom_fields [0.046957s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one_invalid_api_version [0.024703s] ... ok {5} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_add_node_uuid_invalid_type [0.036690s] ... ok {5} ironic.tests.unit.api.test_args.TestArgs.test_fromjson [0.006695s] ... ok {5} ironic.tests.unit.api.test_args.TestArgs.test_fromjson_complex [0.005989s] ... ok {5} ironic.tests.unit.api.test_healthcheck.TestHealthcheckMiddleware.test_enable [0.026495s] ... ok {5} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_add_request_id [0.023507s] ... ok {5} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_noauth_token_removed [0.025902s] ... ok {5} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault [0.020787s] ... ok {5} ironic.tests.unit.api.test_hooks.TestPublicUrlHook.test_before_host_url [0.012512s] ... ok {5} ironic.tests.unit.api.test_types.TestTypes.test_validate_list_none [0.006306s] ... ok {5} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_exception [0.013963s] ... ok {5} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_set_meta_failure [0.065299s] ... ok {5} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_client_init_failure [0.055047s] ... ok {5} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_one_attached [0.052240s] ... ok {5} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_invalid_rescue_interface [0.009696s] ... ok {5} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_file_url [1.408131s] ... ok {5} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_download_with_retries [0.009666s] ... ok {5} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_multiple_containers [0.007389s] ... ok {5} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_hard_link_fail [0.015094s] ... ok {5} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_error [0.008043s] ... ok {5} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service [0.006632s] ... ok {5} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_already_raw_format [0.008713s] ... ok Error while running foo: bar. 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. {5} ironic.tests.unit.common.test_json_rpc.TestService.test_unexpected_failure [0.018773s] ... ok {5} ironic.tests.unit.common.test_network.GetPortsByPortgroupIdTestCase.test_ports_by_portgroup_id [0.051542s] ... ok {5} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_port_int_info [0.048965s] ... ok {5} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data_ipv6 [0.018497s] ... ok {5} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_missed_info [0.039117s] ... ok {5} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_more_than_configured [0.020365s] ... ok {5} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_with_exception [0.009853s] ... ok {5} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_4 [0.022442s] ... ok {5} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_deploy [0.017079s] ... ok {5} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config [0.057657s] ... ok {5} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_kernel_ramdisk_info [0.014834s] ... ok {5} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_partition [0.061505s] ... ok {5} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_instance_ipxe_uefi [0.045554s] ... ok {5} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_zero_logical_disks [0.008848s] ... ok {5} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_context [0.006184s] ... ok {5} ironic.tests.unit.common.test_swift.SwiftTestCase.test_create_object_create_container_fails [0.040715s] ... ok {5} ironic.tests.unit.common.test_swift.SwiftTestCase.test_get_temp_url [0.036424s] ... ok {5} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_not_use_standard_locale [0.007742s] ... ok {5} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_hostname_safe [0.005605s] ... ok {5} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_capabilities_not_dict [0.005395s] ... ok {5} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_node_associated_with_another_instance [0.064333s] ... ok {5} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_locked [0.097190s] ... ok {5} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_last_step_noop [0.268557s] ... ok {5} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_steps_fail [0.128565s] ... ok {5} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_fast_track [0.198972s] ... ok {5} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_return_failed [0.168339s] ... ok {5} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_bad_state [0.172687s] ... ok {5} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_port_cleaned [0.186784s] ... ok {5} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_clean_step_not_abortable [0.156545s] ... ok {5} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_exiting_with_other_exception [0.014118s] ... ok {5} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeout [0.013638s] ... ok {5} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_worker_limit [0.013635s] ... ok {5} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_already_mapped [0.012827s] ... ok {5} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_no_free_worker [0.016370s] ... ok {5} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_empty [0.055856s] ... ok {5} ironic.tests.unit.conductor.test_manager.RaidTestCases.test_set_target_raid_config_invalid_parameter_value [0.064120s] ... ok {5} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test___send_sensor_data [0.106789s] ... ok {5} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_maintenance [0.116350s] ... ok {5} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_error_state [0.210133s] ... ok {5} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_address_active_node [0.050270s] ... ok {5} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_unsupported_method [0.137162s] ... ok {5} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_properties [0.012978s] ... ok {5} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_connector [0.011766s] ... ok GET: /v1.json {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-59b256ec-0b7f-43c0-8ef3-c7fa4e075835 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.68"}} GET: /v1.xml {} 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-c1462615-fc3c-4574-bf40-7d4d0b057e7e {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Test exception message.\\nTraceback (most recent call last):\\n File \\\"/opt/stack/ironic/ironic/common/rpc/amqp.py\\\", line 434, in _process_data\\\\n **args)\\n File \\\"/opt/stack/ironic/ironic/common/rpc/dispatcher.py\\\", line 172, in dispatch\\\\n result = getattr(proxyobj, method)(ctxt, **kwargs)\", \"debuginfo\": \"Traceback (most recent call last):\\n\\n File \\\"/builddir/build/BUILD/ironic-16.0.3/ironic/api/method.py\\\", line 42, in callfunction\\n result = f(self, *args, **kwargs)\\n\\n File \\\"/builddir/build/BUILD/ironic-16.0.3/ironic/api/controllers/root.py\\\", line 43, in index\\n return root()\\n\\n File \\\"\\\", line 3, in root\\n\\n File \\\"/usr/lib64/python3.6/unittest/mock.py\\\", line 939, in __call__\\n return _mock_self._mock_call(*args, **kwargs)\\n\\n File \\\"/usr/lib64/python3.6/unittest/mock.py\\\", line 999, in _mock_call\\n raise effect\\n\\nException: Test exception message.\\nTraceback (most recent call last):\\n File \\\"/opt/stack/ironic/ironic/common/rpc/amqp.py\\\", line 434, in _process_data\\\\n **args)\\n File \\\"/opt/stack/ironic/ironic/common/rpc/dispatcher.py\\\", line 172, in dispatch\\\\n result = getattr(proxyobj, method)(ctxt, **kwargs)\\n\"}"} GET: / {} GOT:Response: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a1217fde-2b7a-4ea1-9183-f2ba72ca642a {"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-08256717-6d9b-485c-b086-63954d88f39d {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"Error message without traceback \\n but \\n multiline\", \"debuginfo\": null}"} GET: /v1/ {} GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.68'}} Malformed option m1.key1value1 {5} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_list [0.011948s] ... ok {5} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_invalid_arg [0.046293s] ... ok {5} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_deployment_templates [0.046510s] ... ok {5} ironic.tests.unit.conductor.test_steps.ValidateDeployTemplatesTestCase.test_ok [0.051508s] ... ok {5} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_second_arg [0.007253s] ... ok {5} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_no_callback_notify [0.008096s] ... ok {5} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_process_event_sets_callback_and_error_handler [0.008874s] ... ok {5} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_upgrade_lock_refreshes_fsm [0.043950s] ... ok {5} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_steps_exception [0.051619s] ... ok {5} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_invalid_state [0.096726s] ... ok {5} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_set_power_failure [0.073734s] ... ok {5} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_adopting [0.045228s] ... ok {5} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_1 [0.048365s] ... ok {5} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_and_create_schema ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {5} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_conductor_affinity [0.031642s] ... ok {5} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_state [0.027330s] ... ok {5} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_sorted [0.028785s] ... ok {5} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation_uuid [0.016407s] ... ok {5} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list_node_not_exist [0.018816s] ... ok {5} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list_setting_not_exist [0.025415s] ... ok {5} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_inactive_conductor_ignore_online [0.016093s] ... ok {5} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_unregister_conductor [0.015869s] ... ok {5} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_name [0.017299s] ... ok {5} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_add [0.019734s] ... ok {5} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_node_not_exist [0.018652s] ... ok {5} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags_duplicate [0.020370s] ... ok {5} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_allocations_get_destroyed_after_destroying_a_node_by_uuid [0.036208s] ... ok {5} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_instance [0.043675s] ... ok {5} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_chassis_not_found [0.011499s] ... ok {5} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_locked_node [0.022675s] ... ok {5} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_destroy_portgroup_that_does_not_exist [0.020594s] ... ok {5} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list [0.024331s] ... ok {5} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_list_sorted [0.024581s] ... ok {5} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_uuid [0.018408s] ... ok {5} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector [0.019634s] ... ok {5} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_fixed_ip_address_with_exception [0.017385s] ... ok {5} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_defaults [0.015098s] ... ok {5} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_iinfo [0.824311s] ... ok {5} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_fail [0.015601s] ... ok {5} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_get_properties [0.043559s] ... ok {5} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_floppy [0.042651s] ... ok {5} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_no_manager [0.048134s] ... ok {5} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_persistent [0.049230s] ... ok {5} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_next_persistent_boot_mode_list_boot_modes_fail [0.017040s] ... ok {5} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device [0.064248s] ... ok {5} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed_in_clean [0.077356s] ... ok {5} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_failed_in_deploy [0.073028s] ... ok {5} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_properties [0.015744s] ... ok {5} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_power_change_success [0.048762s] ... ok {5} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__volume_usage_per_disk_mb [0.023403s] ... ok {5} ironic.tests.unit.drivers.modules.drac.test_raid.DracQueryRaidConfigurationTestCase.test_list_raid_controllers [0.015061s] ... ok {5} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_failed [0.070526s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_get_settings_failed_deploying [0.064595s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_cleaning [0.074695s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_set_bios_failed_cleaning [0.067328s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_pre_boot [0.048427s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_cache_bios_settings [0.042459s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_create [0.046564s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate [0.055574s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image_cleaning [0.083461s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_glance_image [0.088191s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.059006s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot [0.058577s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_for_webserver [0.049664s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode [0.048670s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_failed_validation [0.022800s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_port [0.015412s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__download_fw_to [0.062972s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_calls__extract_fw_from_file [0.059867s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test___create_supported_capabilities_dict_excluded_capability [0.017812s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_not_supported [0.027546s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_clean [0.060209s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license [0.051297s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_secure_boot_keys [0.243661s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent_fail [0.050191s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__attach_boot_iso_if_needed [0.043980s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_deploying [0.075926s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_delete_raid_deploying [0.078579s] ... ok {5} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test_boot_into_iso [0.057250s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_ok [0.051353s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_attach_boot_iso_if_needed_on_rebuild [0.039327s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_never [0.096574s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_inspection [0.049815s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_iqn [0.517561s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_disable [0.018852s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_auth_method [0.018442s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_get_properties [0.041228s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config_failed [0.060053s] ... ok {5} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_5 [0.015889s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_physnet1 [0.077757s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ignores_standalone_portgroup [0.058067s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_ports_pxe_enabled_first [0.058224s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_nopxe_ports [0.053241s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_port [0.021695s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate [0.049023s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_need_power_on_false [0.042897s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_provisioning_network_from_node [0.066078s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_netboot [0.061156s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_inspection [1.371192s] ... ok {5} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_add_provisioning_network [0.046267s] ... ok {5} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_deploy_info_exc [0.035656s] ... ok {5} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_missing [0.040876s] ... ok {5} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_uefi_boot [0.039796s] ... ok {5} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__get_sensors_temperatures [0.036478s] ... ok {5} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_properties [0.034544s] ... ok {5} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_inject_nmi [0.043417s] ... ok {5} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.014129s] ... ok {5} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi [0.048317s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_uuid_from_result [0.052113s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_no_manage_agent_boot [0.057820s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size [0.043570s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_invalid_image_download_source [0.013668s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_with_hook [0.058312s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_deploy_done_raises_with_event [0.053721s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_execute_clean_step [0.006866s] ... ok {5} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_another_state [0.051942s] ... ok {5} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_allocate_port_no_free_ports [0.011146s] ... ok {5} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp [0.012682s] ... ok {5} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_fail_nopiddir [0.017086s] ... ok {5} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_stop_shellinabox_console_fail_nopid [0.010346s] ... ok {5} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_missing_format [0.013674s] ... ok {5} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image [0.012780s] ... ok {5} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_boot_option_instance_info_priority [0.013126s] ... ok {5} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_config_partition_image [0.006384s] ... ok {5} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_error [0.044196s] ... ok {5} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_ok [0.016685s] ... ok {5} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_custom_params [0.066850s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_fail [0.008665s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_pass [0.006869s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_timing_no_ipmitool [0.006933s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test__parse_ipmi_sensor_data_failed [0.013591s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_inject_nmi_fail [0.044418s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_returns [0.048680s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_call_send_raw_bytes [0.047943s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info [0.020253s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__soft_power_off_max_retries [0.055809s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_invalid_port [0.038933s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console [0.057323s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_start_console_with_port [0.052964s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.066178s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_rescue [0.101125s] ... ok {5} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_skip_check_write_image_false [0.042079s] ... ok {5} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_write_image_bfv [0.048380s] ... ok {5} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail_no_root_uuid_or_disk_id [0.112933s] ... ok {5} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_check_file_system_for_iscsi_device_raises [0.007772s] ... ok {5} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_localboot_uefi [0.011962s] ... ok {5} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_recent_power_change [0.350325s] ... ok {5} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_retry [0.044921s] ... ok {5} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_never [0.090136s] ... ok {5} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_rescue [0.089363s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test__get_transport_custom_timeout [0.057671s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_off [0.011861s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_on [0.010538s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_on [0.010161s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_on [0.010151s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_baytech_mrp27_power_reset [0.010581s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off [0.010082s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_power_state_snmp_failure [0.047203s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_apc_rackpdu [0.008734s] ... ok {5} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_aten [0.008012s] ... ok {5} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_primary_none [0.045180s] ... ok {5} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot [0.049896s] ... ok {5} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_nonironicexception [0.015244s] ... ok {5} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_raid [0.550497s] ... ok {5} ironic.tests.unit.drivers.test_ibmc.IBMCHardwareTestCase.test_default_interfaces [0.045314s] ... ok {5} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_agent_rescue [0.057149s] ... ok {5} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_ipmitool_power [0.062679s] ... ok {5} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_unkown [0.014989s] ... ok {5} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_with_invalid_group [0.015735s] ... ok {5} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_not_found [0.029702s] ... ok {5} ironic.tests.unit.objects.test_fields.TestFlexibleDictField.test_coerce_bad_values [0.006014s] ... ok {5} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_bad_value [0.007496s] ... ok {5} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_remove [0.008973s] ... ok {5} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_description_supported_missing [0.008545s] ... ok {5} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_set_remove [0.008446s] ... ok {5} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_bad_id_and_uuid [0.008141s] ... ok {5} ironic.tests.unit.objects.test_node.TestNodeObject.test_save [0.011059s] ... ok {5} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_updated_at_field [0.010888s] ... ok {5} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_corrected_power_state_payload [0.008718s] ... ok {5} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_make_status_invalid [0.005472s] ... ok {5} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object_old [0.006480s] ... ok {5} ironic.tests.unit.objects.test_objects.TestObject.test_convert_to_version_new [0.005266s] ... ok {5} ironic.tests.unit.objects.test_objects.TestObject.test_refresh_object [0.005358s] ... ok {5} ironic.tests.unit.objects.test_port.TestPortObject.test_supports_physical_network_supported [0.009018s] ... ok {5} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_list [0.009258s] ... ok PATCH: /v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc [{'path': '/vendor_interface', 'value': 'fake', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-c60a5513-e3f3-44e3-afc1-b467220d4e01 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "7d68c56e-adae-4b8a-987b-c764305b31bc", "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/7d68c56e-adae-4b8a-987b-c764305b31bc", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/ports", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/volume", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/states", "rel": "self"}, {"href": "http://localhost/nodes/7d68c56e-adae-4b8a-987b-c764305b31bc/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:18.228132+00:00"} PATCH: /v1/nodes/c72a0ce6-c02a-437a-be0e-5a78fddb69d4 [{'path': '/network_data', 'value': {'links': [{'id': 'interface2', 'type': 'vif', 'ethernet_mac_address': 'a0:36:9f:2c:e8:70', 'vif_id': 'e1c90e9f-eafc-4e2d-8ec9-58b91cebb53d', 'mtu': 1500}, {'id': 'interface0', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:80', 'mtu': 9000}, {'id': 'interface1', 'type': 'phy', 'ethernet_mac_address': 'a0:36:9f:2c:e8:81', 'mtu': 9000}, {'id': 'bond0', 'type': 'bond', 'bond_links': ['interface0', 'interface1'], 'ethernet_mac_address': 'a0:36:9f:2c:e8:82', 'bond_mode': '802.1ad', 'bond_xmit_hash_policy': 'layer3+4', 'bond_miimon': 100}, {'id': 'vlan0', 'type': 'vlan', 'vlan_link': 'bond0', 'vlan_id': 101, 'vlan_mac_address': 'a0:36:9f:2c:e8:80', 'vif_id': 'e1c90e9f-eafc-4e2d-8ec9-58b91cebb53f'}], 'networks': [{'id': 'private-ipv4', 'type': 'ipv4', 'link': 'interface0', 'ip_address': '10.184.0.244', 'netmask': '255.255.240.0', 'routes': [{'network': '10.0.0.0', 'netmask': '255.0.0.0', 'gateway': '11.0.0.1'}, {'network': '0.0.0.0', 'netmask': '0.0.0.0', 'gateway': '23.253.157.1'}], 'network_id': 'da5bb487-5193-4a65-a3df-4a0055a8c0d7'}, {'id': 'private-ipv4', 'type': 'ipv6', 'link': 'interface0', 'ip_address': '2001:cdba::3257:9652/24', 'routes': [{'network': '::', 'netmask': '::', 'gateway': 'fd00::1'}, {'network': '::', 'netmask': 'ffff:ffff:ffff::', 'gateway': 'fd00::1:1'}], 'network_id': 'da5bb487-5193-4a65-a3df-4a0055a8c0d8'}, {'id': 'publicnet-ipv4', 'type': 'ipv4', 'link': 'vlan0', 'ip_address': '23.253.157.244', 'netmask': '255.255.255.0', 'dns_nameservers': ['69.20.0.164', '69.20.0.196'], 'routes': [{'network': '0.0.0.0', 'netmask': '0.0.0.0', 'gateway': '23.253.157.1'}], 'network_id': '62611d6f-66cb-4270-8b1f-503ef0dd4736'}], 'services': [{'type': 'dns', 'address': '8.8.8.8'}, {'type': 'dns', 'address': '8.8.4.4'}]}, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-0409bfb3-f7f3-421c-ae6f-e91c94044f3f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.66 {"uuid": "c72a0ce6-c02a-437a-be0e-5a78fddb69d4", "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/c72a0ce6-c02a-437a-be0e-5a78fddb69d4", "rel": "self"}, {"href": "http://localhost/nodes/c72a0ce6-c02a-437a-be0e-5a78fddb69d4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/c72a0ce6-c02a-437a-be0e-5a78fddb69d4/ports", "rel": "self"}, {"href": "http://localhost/nodes/c72a0ce6-c02a-437a-be0e-5a78fddb69d4/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/c72a0ce6-c02a-437a-be0e-5a78fddb69d4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/c72a0ce6-c02a-437a-be0e-5a78fddb69d4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/c72a0ce6-c02a-437a-be0e-5a78fddb69d4/volume", "rel": "self"}, {"href": "http://localhost/nodes/c72a0ce6-c02a-437a-be0e-5a78fddb69d4/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/c72a0ce6-c02a-437a-be0e-5a78fddb69d4/states", "rel": "self"}, {"href": "http://localhost/nodes/c72a0ce6-c02a-437a-be0e-5a78fddb69d4/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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:20.550455+00:00"} PATCH: /v1/nodes/72d325a5-aef9-49be-bd4a-dd0417737ed3 [{'path': '/owner', 'value': 'meow', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-b9d4e945-30cb-45a4-bc5c-2dc79d218814 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/5949d988-965d-4b4c-80e0-9607159ed7d5 [{'path': '/retired', 'value': True, 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-066867bd-32ee-415b-a1f5-a819a43c5cb8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.60 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"}{14} ironic.tests.unit.api.controllers.v1.test_node.TestPatch.test_update_retired_old_api [2.076470s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_network_interface [0.076807s] ... ok PATCH: /v1/nodes/1af6f720-5dfd-49ef-84d4-c83adcf0f5f9 [{'path': '/lessee', 'value': 'new-project', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8936c5f4-bc64-48b9-b94e-8f282f0c8f1f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.64 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Request not acceptable.\", \"debuginfo\": null}"} PATCH: /v1/nodes/feb6583a-f550-49f2-8dcd-3d582b18e2bc [{'path': '/retired', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-09e4db9f-bf1d-4516-973f-066f1e98dafa X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.61 {"uuid": "feb6583a-f550-49f2-8dcd-3d582b18e2bc", "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/feb6583a-f550-49f2-8dcd-3d582b18e2bc", "rel": "self"}, {"href": "http://localhost/nodes/feb6583a-f550-49f2-8dcd-3d582b18e2bc", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/feb6583a-f550-49f2-8dcd-3d582b18e2bc/ports", "rel": "self"}, {"href": "http://localhost/nodes/feb6583a-f550-49f2-8dcd-3d582b18e2bc/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/feb6583a-f550-49f2-8dcd-3d582b18e2bc/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/feb6583a-f550-49f2-8dcd-3d582b18e2bc/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/feb6583a-f550-49f2-8dcd-3d582b18e2bc/volume", "rel": "self"}, {"href": "http://localhost/nodes/feb6583a-f550-49f2-8dcd-3d582b18e2bc/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/feb6583a-f550-49f2-8dcd-3d582b18e2bc/states", "rel": "self"}, {"href": "http://localhost/nodes/feb6583a-f550-49f2-8dcd-3d582b18e2bc/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, "retired": false, "retired_reason": null, "updated_at": null, "created_at": "2021-01-19T06:02:21.995801+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': {}, 'lessee': 'project', '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-9e92fa7c-3819-4e58-b8cc-903708efbd7f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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, "lessee": "project", "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:22.064966+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, 'lessee': 'project', 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'network_data': {}, 'updated_at': None, 'created_at': '2021-01-19T06:02:22.064966+00:00'}{19} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_lessee [1.720339s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_conductor_group [0.067701s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_by_name [0.034450s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_bad_requests_in_adopting_state [0.085335s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_validation_failed_status_code [0.048524s] ... 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-38627359-d783-44ce-8500-fd3177ce9212 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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?address=aa:bb:cc:dd:ee:ff {} GOT:{'portgroups': []} 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\": \"\"}"} 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-12dd32c5-99af-4abf-b8fd-65729f63ee3a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:29.124395+00:00", "updated_at": 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-1692cafc-a0cd-4dcc-ae2a-332395f6790f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:29.178183+00:00", "updated_at": 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-142f8e1e-c73e-4a05-b945-63c7e57440e6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:29.233865+00:00", "updated_at": null} POST: /v1/heartbeat/test.1 {'callback_url': 'url', 'agent_token': 'token'} GOT:Response: 202 Accepted Openstack-Request-Id: req-72f96c98-cbae-4350-b2b6-8fbb581a4b73 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 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-e62d0d9b-f78a-4ae8-a345-410f04d6f5f1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:29.404067+00:00", "updated_at": "2021-01-19T06:02:29.408226+00:00"} 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-e35e6d1f-ebc8-4612-b556-2b8c874b754c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:29.465331+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': {'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-d3eefe95-60cd-4b27-bba9-db6435fb71e8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:29.549179+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': '2021-01-19T06:02:29.549179+00:00', 'updated_at': None}{3} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_valid_extra [2.409130s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid_invalid_api_version [0.025149s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail [0.044614s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_custom_fields_invalid_fields [0.045779s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_one [0.051023s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_multi [0.090100s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_invalid_node_uuid_format [0.034106s] ... ok {3} ironic.tests.unit.api.controllers.v1.test_volume_target.TestVolumeTargetObject.test_volume_target_init [0.005911s] ... ok {3} ironic.tests.unit.api.test_types.TestTypes.test_base [0.008541s] ... ok {3} ironic.tests.unit.api.test_types.TestTypes.test_validate_list_invalid_member [0.005345s] ... ok {3} ironic.tests.unit.api.test_types.TestTypes.test_validate_string_type_pattern_exception_message [0.005706s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_attach_record_failure [0.054177s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_invalid_parameter_value [0.047737s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderClient.test_get_client [0.009984s] ... ok {3} ironic.tests.unit.common.test_cinder.TestCinderUtils.test_is_volume_available [0.013884s] ... ok {3} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_invalid_network_interface [0.015916s] ... ok {3} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__token_auth [0.010692s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test__validate_temp_url_multiple_containers [0.005939s] ... ok {3} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_remove_expired_items_from_cache [1.061193s] ... ok {3} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_success_verify_false [0.014595s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test__umount_without_raise [0.007102s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_esp_image_mkisofs_fails [0.016154s] ... ok {3} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image [0.014488s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_image [0.008858s] ... ok {3} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_whole_disk_non_glance [0.008025s] ... ok {3} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_failure [0.006553s] ... ok {3} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_port [0.057081s] ... ok {3} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_not_found [0.007951s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_2 [0.021427s] ... ok {3} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_invalid_reponse_format_4 [0.021423s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_without_is_whole_disk_image [0.059923s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_three [0.016606s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_infiniband_mac_pxe_configs [0.050420s] ... ok {3} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_dhcp_options_for_ipxe_ipv6 [0.044282s] ... ok {3} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_int_type [0.008441s] ... ok {3} ironic.tests.unit.common.test_release_mappings.GetObjectVersionsTestCase.test_get_object_versions_releases [0.005381s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_validate_and_normalize_mac_invalid_format [0.009024s] ... ok {3} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_warn_about_deprecated_extra_vif_port_id [0.017300s] ... ok {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_ok [0.009304s] ... ok {3} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_with_pass_in [0.008525s] ... ok {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation [0.115603s] ... ok {3} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_destroy_allocation_with_active_node [0.064644s] ... ok {3} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_non_existing_node [0.023832s] ... ok {3} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out_project [0.252248s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.MiscTestCase.test__fail_transient_state [0.162300s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_with_mdns [0.109657s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_specific_tasks [0.045182s] ... ok {3} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_with_mdns [0.121457s] ... ok {3} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_last_step_noop [0.075692s] ... ok {3} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_driver_ironic_exception [0.212475s] ... ok {3} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift_no_deploy_timeout [0.041100s] ... ok {3} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_get_boot_device_validate_fail [0.045721s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_power_on [0.175753s] ... ok {3} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_validate_fail [0.143259s] ... ok {3} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_no_skip_step [0.158696s] ... ok {3} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_skip_step [0.148644s] ... ok {3} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node [0.028033s] ... ok {3} ironic.tests.unit.conductor.test_manager.CreatePortTestCase.test_create_port_node_locked [0.028621s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_invalid_provision_state [0.145077s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_no_vif [0.052928s] ... ok {3} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_active_and_maintenance_vif_present [0.052409s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_tls_required [0.167142s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_ok [0.152198s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test__do_node_rescue_returns_rescuewait [0.155176s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_when_network_validate_fail [0.078586s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test__do_node_tear_down_from_valid_states [1.493395s] ... ok {3} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_driver_raises_error [0.162480s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerCheckDeployTimeoutsTestCase.test_maintenance_after_lock [0.014718s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_wrong_provision_state_on_upgrade_lock [0.019192s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_enroll_on_acquire [0.015536s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_not_mapped [0.014474s] ... ok {3} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fail [0.077190s] ... ok {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_all [0.124189s] ... ok {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_part [0.106959s] ... ok {3} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_shutdown [0.113673s] ... ok {3} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_done [0.217234s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_deleting_allocation [0.271994s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_deleting_state [0.049222s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_active_node [0.058452s] ... ok {3} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_duplicate [0.052202s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_async [0.075234s] ... ok {3} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_no_default_interface [0.079686s] ... ok {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_validate_error [0.051375s] ... ok {3} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_node_locked [0.030156s] ... ok {3} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test__emit_conductor_node_notification_known_payload_exc [0.015823s] ... ok {3} ironic.tests.unit.conductor.test_notification_utils.TestNotificationUtils.test_emit_console_notification_error_status [0.016726s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_node [0.013507s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_driver_vendor_passthru_methods [0.013357s] ... ok {3} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_node_with_token [0.012994s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_only_enabled [0.042476s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__get_cleaning_steps_unsorted [0.046084s] ... ok {3} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_override_core [0.043979s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_unstable [0.006998s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerStateModelTestCases.test_release_clears_resources [0.005973s] ... ok {3} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_node_get_exception [0.017422s] ... ok {3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout [0.007561s] ... ok {3} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_no_cleanup [0.006282s] ... ok {3} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state [0.073970s] ... ok {3} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_update_add_1 [0.051428s] ... ok {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_walk_versions ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {3} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_create_schema_and_version ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {3} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedDict_type_check [0.011063s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create [0.014933s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_uuid [0.016567s] ... ok {3} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_update_allocation [0.015442s] ... ok {3} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_register_conductor_hardware_interfaces [0.013438s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_list_by_names [0.017490s] ... ok {3} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_uuid_not_allowed [0.010696s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_duplicate_at_limit [0.322474s] ... ok {3} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_node_trait_not_exists [0.017901s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_filter_by_project [0.042548s] ... ok {3} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_touch_node_provisioning [0.019962s] ... ok {3} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup_duplicated_name [0.017996s] ... ok {3} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner [0.018164s] ... ok {3} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_destroy_volume_connector [0.017913s] ... ok {3} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_clean_up [0.045715s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_get_config [0.036790s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_name_prefix_invalid [0.014645s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_set_boot_device_fail [0.048375s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_in_clean [0.065403s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_failed_job [0.066886s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_fail [0.044181s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__calculate_spans_for_invalid_raid_level [0.022716s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_delete_virtual_disk [0.014763s] ... ok {3} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_foreign_drives [0.073630s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_boot_mode [0.042223s] ... ok {3} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device [0.054220s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_glance_image [0.052625s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_instance_image_info_iwdi [0.061630s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image [0.094778s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_iso [0.072571s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_clean_up_instance [0.049547s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance [0.051897s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia [0.016684s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_image_from_swift [0.023248s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_parameters [0.049983s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_unknown_except [0.049281s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_string_false [0.015422s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_fail_mac_invalid_format [0.016089s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_device_type_erase_pattern [0.044969s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_checksum_validation_error_clean [0.070253s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_power_state [0.038104s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_properties [0.041256s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_reboot_with_timeout [0.046749s] ... ok {3} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_deploying [0.053617s] ... ok {3} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_error [0.046338s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_parse_deploy_info_ok [0.057586s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot_false [0.063958s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_empty_gpu_ids_fpga_ids [0.041859s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_properties [0.037578s] ... ok {3} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_5_and_0 [0.047243s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_portgroup_physnet_match_first [0.057426s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_vif_nopxe_portgroup_standalone_ports [0.127622s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_novif_pxe_ports [0.053708s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_not_attached [0.050122s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection [0.057013s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks [0.048495s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate [0.046241s] ... ok {3} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue [0.054010s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_mixed_source_rescue [0.035689s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_get_supported_boot_modes [0.033576s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_indicator_state [0.050822s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_ensure_new_session_address [0.044213s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_default_scheme_with_port [0.014593s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_system_id [0.013880s] ... ok {3} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_value_verify_ca [0.013216s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure_no_attach_error [0.057776s] ... ok {3} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_fc_targets [0.071765s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result [0.043751s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_with_smartnic_port [0.066780s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up [0.055569s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_instance_boot_partition_image [0.067976s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_without_memory_mb [0.048771s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_file [0.014689s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_with_hook_fails [0.057635s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_fails [0.054048s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_not_in_core_deploy_step_refresh [0.068106s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_rescue_fails [0.059940s] ... ok {3} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps_deploy [0.046298s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_hostname [0.047090s] ... ok {3} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_fail_nopiddir [0.021447s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_conf [0.020550s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_build_agent_options_keystone [0.020007s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_true [0.018646s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_cleaning_set_one [0.035598s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_preserve_ephemeral_true [0.048719s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_fetch_images [0.016294s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_never [0.068989s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_true [0.006398s] ... ok {3} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_invalid [0.005614s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image [0.006975s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_local_link [0.037347s] ... ok {3} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param_not_found [0.013665s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_vendor_passthru_init_calls [0.007707s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_unknown_dev [0.046506s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_already_off [0.046366s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_fail [0.044071s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_port [0.017296s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_node_busy [0.018284s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot_active [0.075032s] ... ok {3} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_with_boot_iso_and_image_source [0.046247s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_cleaning [0.044775s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_instance_boot_localboot_uefi [0.072098s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_preserve_ephemeral [0.069489s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_validate_invalid_root_device_hints [0.039157s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__save_disk_layout [0.029327s] ... ok {3} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_wo_boot_option_and_wo_boot_mode [0.016592s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare_active [0.074876s] ... ok {3} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_another_boot_interface [0.042849s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_transport [0.048902s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_rackpdu_power_off [0.011860s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_aten_power_off [0.011691s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_on_cached_driver [0.012642s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_pdu_discovery_failure [0.012093s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_delay [0.013844s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_error [0.047303s] ... ok {3} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v1 [0.009873s] ... ok {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_ironicexception [0.015061s] ... ok {3} ironic.tests.unit.drivers.test_base.PassthruDecoratorTestCase.test_passthru_shared_task_metadata [0.009960s] ... ok {3} ironic.tests.unit.drivers.test_base.RAIDInterfaceTestCase.test_validate [0.007417s] ... ok {3} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_redfish_inspect [0.051673s] ... ok {3} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_invalid_character_fail [0.014214s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_name [0.009911s] ... ok {3} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_supported_missing [0.009520s] ... ok {3} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_delete [0.009165s] ... ok {3} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_good_value [0.005603s] ... ok {3} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_string [0.005784s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_set_no_remove_default [0.008992s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_missing [0.009404s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_remove [0.009724s] ... ok {3} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_set [0.010509s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_name_node_not_found [0.011178s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_port_addresses [0.212814s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodeObject.test_reserve_node_not_found [0.011003s] ... ok {3} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_power_state_payload [0.010347s] ... ok {3} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_not_affected [0.006034s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_load_in_base [0.006504s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_updates [0.005538s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObject.test_with_alternate_context [0.005477s] ... ok {3} ironic.tests.unit.objects.test_objects.TestObjectVersions.test_object_version_check [0.018504s] ... ok {3} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.009636s] ... ok {3} ironic.tests.unit.objects.test_port.TestPortObject.test_get_by_id [0.010058s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_refresh [0.009820s] ... ok {3} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save [0.011155s] ... ok {3} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save_after_refresh [0.021024s] ... ok GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-d3c53fc5-b5c9-4be1-ad8b-fc2b4e00eca5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:23.686889+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': '2021-01-19T06:02:23.686889+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': '2021-01-19T06:02:25.241856+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'}]}]} 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-456f2385-a2c9-4973-8470-2fd08898957e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/internal_info' is an internal attribute and can not be updated\", \"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', 'internal_info': 'info'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f2cea030-853f-4f58-aca1-f9fe3eac1ef2 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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/heartbeat/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {'callback_url': 'url2'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-84838b2e-b808-4ccc-b842-aa6891e1ba99 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Detected change in ramdisk provided \\\"callback_url\\\"\", \"debuginfo\": null}"} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11 {} GOT:{'node': {'uuid': '48f01611-0bbc-4898-9e37-99834630db71', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value', 'agent_secret_token': '******'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'links': [{'href': 'http://localhost/v1/nodes/48f01611-0bbc-4898-9e37-99834630db71', 'rel': 'self'}, {'href': 'http://localhost/nodes/48f01611-0bbc-4898-9e37-99834630db71', '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, 'agent_token': 'some-value', 'agent_token_required': True}} GET: /v1/ {} GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.68'}, 'portgroups': [{'href': 'http://localhost/v1/portgroups/', 'rel': 'self'}, {'href': 'http://localhost/portgroups/', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/volume/', 'rel': 'self'}, {'href': 'http://localhost/volume/', 'rel': 'bookmark'}], 'lookup': [{'href': 'http://localhost/v1/lookup/', 'rel': 'self'}, {'href': 'http://localhost/lookup/', 'rel': 'bookmark'}], 'heartbeat': [{'href': 'http://localhost/v1/heartbeat/', 'rel': 'self'}, {'href': 'http://localhost/heartbeat/', 'rel': 'bookmark'}], 'conductors': [{'href': 'http://localhost/v1/conductors/', 'rel': 'self'}, {'href': 'http://localhost/conductors/', 'rel': 'bookmark'}], 'allocations': [{'href': 'http://localhost/v1/allocations/', 'rel': 'self'}, {'href': 'http://localhost/allocations/', 'rel': 'bookmark'}], 'events': [{'href': 'http://localhost/v1/events/', 'rel': 'self'}, {'href': 'http://localhost/events/', 'rel': 'bookmark'}], 'deploy_templates': [{'href': 'http://localhost/v1/deploy_templates/', 'rel': 'self'}, {'href': 'http://localhost/deploy_templates/', 'rel': 'bookmark'}]} GET: /v1/volume/connectors?fields=connector_id&limit=2 {} GOT:{'connectors': [{'connector_id': 'test-connector_id-0', 'links': [{'href': 'http://localhost/v1/volume/connectors/9a7b4824-545a-401e-a996-26a47297ab52', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/9a7b4824-545a-401e-a996-26a47297ab52', 'rel': 'bookmark'}]}, {'connector_id': 'test-connector_id-1', 'links': [{'href': 'http://localhost/v1/volume/connectors/85247e3d-81a9-4675-9e34-20b5c840f4a2', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/85247e3d-81a9-4675-9e34-20b5c840f4a2', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=connector_id&limit=2&marker=85247e3d-81a9-4675-9e34-20b5c840f4a2'}{15} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_pagination_no_uuid [3.819498s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_one_invalid_api_version [0.025852s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_links [0.087656s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_no_mandatory_field_type [0.032065s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_update_byid [0.055271s] ... ok {15} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_error [0.042445s] ... ok {15} ironic.tests.unit.api.test_acl.TestACL.test_authenticated [0.040171s] ... ok {15} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_signature [0.006273s] ... ok {15} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_on_clientfault_debug_tracebacks [0.019740s] ... ok {15} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors [0.013409s] ... ok {15} ironic.tests.unit.api.test_types.TestTypes.test_array_sample [0.005956s] ... ok {15} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_online_data_migrations_exception [0.010564s] ... ok {15} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_none_network_interface [0.017625s] ... ok {15} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service_client_already_set [0.010718s] ... ok {15} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_notfound_converts_to_imagenotfound [0.006262s] ... ok {15} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_return_cached_tempurl [0.007631s] ... ok {15} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy [0.020375s] ... ok {15} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_true_ioerror [0.013802s] ... ok {15} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_show_no_content_length [0.006912s] ... ok {15} ironic.tests.unit.common.test_images.FsImageTestCase.test__create_root_fs [0.012684s] ... ok {15} ironic.tests.unit.common.test_images.FsImageTestCase.test__generate_grub_cfg [0.010161s] ... ok {15} ironic.tests.unit.common.test_images.FsImageTestCase.test__mount_deploy_iso_fail_no_esp_imageimg [0.009381s] ... ok {15} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_existing_iso [0.010203s] ... ok {15} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios_conf_ldlinux [0.011749s] ... ok {15} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_temp_url_for_glance_image [0.020349s] ... ok {15} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_to_raw_backing_file_present [0.006934s] ... ok {15} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_image [0.007168s] ... ok {15} ironic.tests.unit.common.test_json_rpc.TestService.test_malformed_context [0.017599s] ... ok {15} ironic.tests.unit.common.test_json_rpc.TestService.test_method_not_post [0.015389s] ... ok {15} ironic.tests.unit.common.test_json_rpc.TestService.test_no_deny_methods [0.016512s] ... ok {15} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_to_network [0.058394s] ... ok {15} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_false [0.016298s] ... ok {15} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_is_smartnic_port_true [0.016143s] ... ok {15} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_up_target_state_down [0.025629s] ... ok {15} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address [0.007965s] ... ok {15} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_duplicate [0.007548s] ... ok {15} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_2 [0.021051s] ... ok {15} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_public_api [0.010583s] ... ok {15} ironic.tests.unit.common.test_pxe_utils.CleanUpPxeEnvTestCase.test__clean_up_pxe_env [1.858484s] ... ok {15} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_no_kernel_no_ramdisk [0.048576s] ... ok {15} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_ip_address_path [0.015394s] ... ok {15} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_set_dir_permission [0.053472s] ... ok {15} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_config [0.033659s] ... ok {15} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_path_relative_to_tftp_root_without_trailing_slash [0.016316s] ... ok {15} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_swift_wdi [0.070894s] ... ok {15} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_safe_rstrip_not_raises_exceptions [0.006964s] ... ok {15} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port_fail [0.006476s] ... ok {15} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_string [0.007266s] ... ok {15} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_with_quotes [0.007511s] ... ok {15} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_free_space_raises [0.008784s] ... ok {15} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_default_limit [0.027351s] ... ok {15} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_registers_driver_names [0.429815s] ... ok {15} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_manual_bad_step_return_value [0.087798s] ... ok {15} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual [0.064632s] ... ok {15} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_automated_clean [0.171591s] ... ok {15} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_stop_fail [0.206647s] ... ok {15} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port [0.078017s] ... ok {15} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_gone [0.085144s] ... ok {15} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_without_version [0.164066s] ... ok {15} ironic.tests.unit.conductor.test_manager.DoNodeInspectAbortTestCase.test_do_inspect_abort_interface_not_support [0.152715s] ... ok {15} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_rescue_invalid_state [0.172195s] ... ok {15} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_manage [0.153258s] ... ok {15} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_maintenance [0.145746s] ... ok {15} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_changed_sync [0.020050s] ... ok {15} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_good [0.014629s] ... ok {15} ironic.tests.unit.conductor.test_manager.ManagerSyncLocalStateTestCase.test_worker_limit [0.014131s] ... ok {15} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_all [0.061935s] ... ok {15} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task_no_management [0.116771s] ... ok {15} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_active_state_waiting [0.207668s] ... ok {15} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_detach_validate_error [0.048233s] ... ok {15} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_continue_node_clean [0.012661s] ... ok {15} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_portgroup [0.011949s] ... ok {15} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_target [0.012446s] ... ok {15} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_disable_core [0.045412s] ... ok {15} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_unstable_to_stable [0.007657s] ... ok {15} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_spawn_fails [0.021146s] ... ok {15} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_random_exception [0.008017s] ... ok {15} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_abort_on_conductor_take_over_deploying [0.007807s] ... ok {15} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_manual [0.010937s] ... ok {15} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler_no_fail [0.006881s] ... ok {15} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_deploying_error_handler_no_worker [0.014605s] ... ok {15} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_rescuing [0.015039s] ... ok {15} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_deploy_steps_unset_deploy_step [0.042420s] ... ok {15} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test__can_skip_state_change_db_not_in_sync [0.057860s] ... ok {15} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_storage_detach [0.070067s] ... ok {15} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_on [0.067429s] ... ok {15} ironic.tests.unit.conductor.test_utils.NodeSetBootModeTestCase.test_node_set_boot_mode_valid [0.044008s] ... ok {15} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_no_physnet_create_2 [0.048299s] ... ok {15} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_2 [0.051788s] ... ok {15} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_2 [0.048388s] ... ok {15} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_create_1 [0.050299s] ... ok {15} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_update [0.049860s] ... ok {15} ironic.tests.unit.db.sqlalchemy.test_migrations.ModelsMigrationsSyncPostgres.test_models_sync ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {15} ironic.tests.unit.db.sqlalchemy.test_types.SqlAlchemyCustomTypesTestCase.test_JSONEncodedList_default_value [0.018186s] ... ok {15} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_destroy_allocation_that_does_not_exist [0.017840s] ... ok {15} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_allocation_not_found [0.017785s] ... ok {15} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_already_direct_exists [0.048104s] ... ok {15} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_max_count_zero [0.074948s] ... ok {15} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_conductor_old [0.031615s] ... ok {15} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_uuid [0.011474s] ... ok {15} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor_deadlock [0.015537s] ... ok {15} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_add_node_tag_duplicate [0.023389s] ... ok {15} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag [0.030062s] ... ok {15} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_node_not_found [0.018800s] ... ok {15} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_unset_node_tags_node_not_exist [0.018425s] ... ok {15} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait [0.042635s] ... ok {15} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_duplicate [0.019802s] ... ok {15} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_uuid [0.038435s] ... ok {15} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_with_filters [0.118665s] ... ok {15} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_tags_get_destroyed_after_destroying_a_node [0.035282s] ... ok {15} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_duplicated_address [0.017023s] ... ok {15} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_ports_int_info [0.049689s] ... ok {15} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_v6 [0.051755s] ... ok {15} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_update_port_dhcp_opts_with_exception [0.049552s] ... ok {15} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_cleaning_with_smartnic_port [0.047865s] ... ok {15} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_partitioning_info_root_msdos [0.014266s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_abandon_config [0.049051s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_fail [0.051600s] ... ok /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: 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:376: 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) {15} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_conf_commit_fail [0.050220s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_port [0.014852s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue [0.016002s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_empty_boot_mode_list [0.018004s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_no_config_jobs_drac_wsman [0.017766s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_nonroot_only [0.025652s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_all_steps [0.040226s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__max_volume_size_mb [0.044314s] ... ok {15} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config_fail [0.028974s] ... ok {15} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_properties [0.039966s] ... ok {15} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_inject_nmi [0.054109s] ... ok {15} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_delete [0.079943s] ... ok {15} ironic.tests.unit.drivers.modules.ibmc.test_vendor.IBMCVendorTestCase.test_validate [0.038377s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_iloobj_failed_deploy [0.071155s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_apply_conf_deploying [0.073971s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume [0.068397s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance_boot_from_volume [0.061475s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_partition_image [0.258545s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_url [0.043867s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_legacy [0.059966s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_value_verify_ca [0.015922s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_verify_ca_default_value [0.979971s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_calls__download_http_based_fw_to [0.020953s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_creates_temp_url [0.036363s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__download_swift_based_fw_to_gets_invoked_for_swift_based_firmware [0.007683s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_missing_parameter [0.006688s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_invalid_update_mode [0.006906s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_validate [0.048428s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__execute_ilo_step_fail_clean [0.030950s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_inject_nmi_failed [0.053026s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_persistent_true [0.054652s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_calls_step_foreach_url_deploy [0.078666s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_doesnt_update_any_if_any_url_fails_clean [0.071614s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_fail [0.046234s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok_initial_power_off [1.049657s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_get_supported_power_states [0.048153s] ... ok {15} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_cleaning [0.075113s] ... ok {15} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_default_interfaces [0.043381s] ... ok {15} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_more_socket [0.046447s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_config_option_non_existed_root [0.016272s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_missing [0.015661s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_clean_up_ramdisk_rescue [0.080656s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_localboot [0.074157s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot_missing_root_uuid [0.055964s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_always [0.088336s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.033949s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_auth_method [0.011550s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_port [0.011437s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_set_secure_boot_mode_enable [0.012816s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_trusted_boot_is_false [0.036009s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config [0.057177s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test_backup_bios_config [0.055673s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_ipmitool_ok [0.043963s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_completing_status [0.038380s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_other_clean_state [0.030466s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_reboot [0.043656s] ... ok {15} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_set_power_state [0.042798s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_neutron [0.048852s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_portgroup_extra [0.049905s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_extra_add_new_key [0.050193s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_message_format_failure [0.049720s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_cleaning_network_from_node [0.095413s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_add_inspection_network_from_node [0.096265s] ... ok {15} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_rescue_exc [0.046380s] ... ok {15} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_factory_reset_post_reboot_deploying [0.075560s] ... ok {15} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_get_properties [0.038183s] ... ok {15} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_fail_missing_cpu [0.047228s] ... ok {15} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_validate [0.040321s] ... ok {15} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_loading_error [0.017280s] ... ok {15} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system [0.045367s] ... ok {15} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_single_path [0.048346s] ... ok {15} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_unknown_raises_excption [0.060795s] ... ok {15} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_failure_if_iscsi_boot_no_connectors [0.065225s] ... ok {15} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final [0.046968s] ... ok {15} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_no_target_raid_config_after_skipping [0.050207s] ... ok {15} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps [0.047912s] ... ok {15} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image_with_proxies [0.057313s] ... ok {15} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot [0.054999s] ... ok {15} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test__post_step_reboot_fail_deploy [0.049087s] ... ok {15} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_boot_instance [0.055446s] ... ok {15} ironic.tests.unit.drivers.modules.test_agent_base.AgentRescueTests.test__finalize_rescue_bad_command_result [0.059840s] ... ok {15} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader [0.008042s] ... ok {15} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_agent_token_required [0.008638s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_no_force_raw [0.017191s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceImageCacheTestCase.test_without_master_path [0.010394s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_unicode_swap_mb [0.014224s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_instance_info [0.006022s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_validate_boot_mode_capability_with_exc [0.005691s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_ipxe_iscsi_boot [0.006562s] ... ok {15} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_nonglance_partition_image [0.052681s] ... ok {15} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__prepare_iso_image_uefi [0.037138s] ... ok {15} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_boot_iso_user_supplied [0.039828s] ... ok {15} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_exception_ignored [0.016514s] ... ok {15} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint_no_loopback [0.014675s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls [0.008456s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_dual_bridge_no_ipmitool [0.007534s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_fail [0.050811s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__bmc_reset_warm_good [0.046908s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_fail [0.043762s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test___set_and_wait_no_needless_status_polling [0.051312s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_str_password [0.016114s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_with_numeric_password [0.015797s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_node_busy [0.017576s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port [0.035251s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_missing_port_auto_allocate [0.037528s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_wrong_ipmi_protocol_version [0.041499s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift_whole_disk_image [0.089949s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_not_called [0.089132s] ... ok {15} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_bm [0.084237s] ... ok {15} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy [0.056688s] ... ok {15} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_active [0.047365s] ... ok {15} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying_with_smartnic_port [0.072584s] ... ok {15} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_check_image_size [0.044644s] ... ok 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-e5d726ef-dbe8-4d2a-b4c5-23a8320e3721 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:23.699132+00:00", "updated_at": null} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '61a17b7b-4c41-40e5-9b03-8d40864edcb9', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-19517779-1a35-4d67-8ccd-2f18683a95b8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:23.755090+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'} GOT:Response: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-39875006-ee96-4a73-898b-001a4c94f97c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:23.833096+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-283cfec3-8d92-4987-b3a8-74fa19d31ba9 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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: 201 Created Content-Type: application/json Location: http://localhost/v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 Openstack-Request-Id: req-ea0aa831-08ab-4d72-a68a-231c8d23758d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:23.927479+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': '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-c569fb95-8e3a-4f1c-b67d-8d0070a36626 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"{'switch_foo'} are invalid keys\", \"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': '2021-01-19T06:02:23.988939+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'}]}]} 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-87befa3a-68d2-40b1-ac57-1e7c268b572f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A port with MAC address aa:aa:aa:aa:aa:aa already exists.\", \"debuginfo\": null}"}{9} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_address_already_exist [1.572480s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_mode_properties_bad_api_version [0.042838s] ... ok {15} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_boot_option_default [0.014847s] ... ok {15} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_verify_iscsi_connection [0.006670s] ... ok {15} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_inspect [0.006519s] ... ok {15} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_clean_up_ramdisk_rescue [0.059138s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported [0.051152s] ... ok {15} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_cleaning [0.097727s] ... ok {15} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare_unrescuing [0.063942s] ... ok {15} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_compat [0.009006s] ... ok {15} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device_fail [0.048645s] ... ok {15} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_priority [0.006249s] ... ok {15} ironic.tests.unit.drivers.test_base.DeployAndCleanStepDecoratorTestCase.test_clean_and_deploy_step_all_args [0.005470s] ... ok {15} ironic.tests.unit.drivers.test_base.TestBootInterface.test_validate_rescue_default_impl [0.008048s] ... ok {15} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device [0.043418s] ... ok {15} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_by_uuid [0.009632s] ... ok {15} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save_after_refresh [0.021114s] ... ok {15} ironic.tests.unit.objects.test_fields.TestNotificationStatusField.test_coerce_bad_value [0.005498s] ... ok {15} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_supported_set [0.009041s] ... ok {15} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_fault_unsupported_set_remove_in_maintenance [0.010934s] ... ok {15} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_rescue_unsupported_missing [0.009536s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_add_extra_vif_port_id_diff_internal [0.060731s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_remove_extra_vif_port_id_not_same [0.062923s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_types.TestEventType.test_network_port_event [0.006076s] ... ok {15} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_supported_missing [0.008937s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_types.TestJsonType.test_valid_values [0.005336s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type_optional_key [0.005375s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_check_for_invalid_fields_fail [0.005907s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_get_patch_values_success [0.005237s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllocationPolicyAndRetrieve.test_check_allocation_policy_and_retrieve_policy_forbidden [0.007310s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_fail [0.006242s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_fields [0.005897s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_forbidden_no_project [0.006940s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_by_uuid_no_logical_name [0.006642s] ... ok {15} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_after_refresh [0.049237s] ... ok {15} ironic.tests.unit.objects.test_objects.TestObject.test_get_target_version_pinned_no_myobj [0.007011s] ... ok {15} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport_zero [0.006381s] ... ok {15} ironic.tests.unit.objects.test_port.TestPortObject.test_save [0.010503s] ... ok {15} ironic.tests.unit.objects.test_trait.TestTraitObject.test_destroy_list [0.008627s] ... ok {15} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_refresh [0.009389s] ... ok {15} ironic.tests.unit.test_base.BlockExecuteTestCase.test_can_mock_execute [0.006087s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_invalid_name [0.005660s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_async [0.006259s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_byte_to_byte [0.006523s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_and_fields [0.037447s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_invalid_api_version [0.022065s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_one_invalid_api_version [0.021912s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_node_id [0.035902s] ... ok {9} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_generate_uuid [0.068806s] ... ok {9} ironic.tests.unit.api.test_middleware.TestCORSMiddleware.test_invalid_cors_get_request [0.018409s] ... ok {9} ironic.tests.unit.api.test_types.TestTypes.test_attribute_validation [0.006849s] ... ok {9} ironic.tests.unit.common.test_glance_service.CheckImageServiceTestCase.test_check_image_service__config_auth [0.010337s] ... ok {9} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_image_not_active [0.006329s] ... ok {9} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_show_raises_when_no_authtoken_in_the_context [0.008805s] ... ok {9} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_endpoint_detected [0.008554s] ... ok {9} ironic.tests.unit.common.test_glance_service.TestGlanceSwiftTempURL.test_swift_temp_url_no_key_detected [0.015387s] ... ok {9} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_hardware_type_success_groups [0.032386s] ... ok {9} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_valid_path [0.006998s] ... ok {9} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso [0.010182s] ... ok {9} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_rootfs_fails [0.009984s] ... ok {9} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_success_with_version [0.010666s] ... ok {9} ironic.tests.unit.common.test_json_rpc.TestSession.test_keystone [0.013800s] ... ok {9} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_auth [0.004514s] ... ok {9} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment_no_physnet [0.008714s] ... ok {9} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_failure [0.008583s] ... ok {9} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_single_segment [0.008817s] ... ok {9} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_auth_from_config [0.828709s] ... ok {9} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_noauth [0.601212s] ... ok {9} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_with_token [0.809455s] ... ok {9} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test__uncidr_ipv6 [0.018108s] ... ok {9} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_fail [0.046312s] ... ok {9} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_exception_by_neutronclient [0.018128s] ... ok {9} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_client_passed [0.009921s] ... ok {9} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_failure [0.007030s] ... ok {9} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_is_node_lessee [0.009601s] ... ok {9} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_is_node_owner [0.009835s] ... ok {9} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__cache_tftp_images_master_path [0.036967s] ... ok {9} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_validate_boot_parameters_for_trusted_boot_pass [0.015567s] ... ok {9} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script [0.016596s] ... ok {9} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_grub [0.050897s] ... ok {9} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe [0.062178s] ... ok {9} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay_current_capabilities_empty [0.032937s] ... ok {9} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_current_object_versions [0.005970s] ... ok {9} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_serialize_entity [0.006530s] ... ok {9} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_logical_name [0.005408s] ... ok {9} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_tempdir_mocked [0.007767s] ... ok {9} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_wsgi_service_with_ssl_enabled [0.025323s] ... ok {9} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_create_allocation_with_node_id [0.115743s] ... ok /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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:376: 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) {9} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_del_host_waits_on_workerpool [0.106160s] ... ok {9} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_execute_ironic_exception [0.200493s] ... ok {9} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test_do_node_deploy_steps [0.165668s] ... ok {9} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device [0.048200s] ... ok {9} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_worker_pool_full [0.167045s] ... ok {9} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_validate_fail [0.040944s] ... ok {9} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_worker_pool_full [0.177417s] ... ok {9} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_broken_driver [0.153555s] ... ok {9} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_power_on [0.045044s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_automated_abort_last_clean_step [0.177462s] ... ok {9} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_skip_step [0.153223s] ... ok {9} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_set_indicator_state [0.047041s] ... ok {9} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_no_acquire_after_lock [0.014722s] ... ok {9} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded_notify [0.071051s] ... ok {9} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_no_power_sync_support [0.031505s] ... ok {9} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_retry_then_success [0.019835s] ... ok {9} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_state_not_set [0.032060s] ... ok {9} ironic.tests.unit.conductor.test_manager.MiscTestCase.test_iter_nodes_shutdown [0.323911s] ... ok {9} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi [0.051133s] ... ok {9} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_invalid_state [0.145141s] ... ok {9} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action [0.010675s] ... ok {9} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_class_action_on_object [0.010299s] ... ok {9} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_manageable_state [0.058510s] ... ok {9} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_duplicate [0.053784s] ... ok {9} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_get_node_vendor_passthru_methods [0.134383s] ... ok {9} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_add_node_traits [0.013808s] ... ok {9} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_clean [0.013399s] ... ok {9} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_target_raid_config [0.013388s] ... ok {9} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_resource_released [0.008907s] ... ok {9} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_upgade_exception_no_retries [0.020662s] ... ok {9} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_init_prepares_fsm [0.025500s] ... ok {9} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_voltgt_exception [0.020624s] ... ok {9} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_spawn_after_exception_while_yielded [0.021507s] ... ok {9} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_add_secret_token [0.006911s] ... ok {9} ironic.tests.unit.conductor.test_utils.GetAttachedVifTestCase.test_get_attached_vif_cleaning [0.015139s] ... ok {9} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_notify_conductor_resume_operation [0.047885s] ... ok {9} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_in_same_state_db_not_in_sync [0.068771s] ... ok {9} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_power_soft_reboot [0.074484s] ... ok {9} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_1 [0.054710s] ... ok {9} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_2 [0.053601s] ... ok {9} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_twice ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {9} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_migrate_up_with_data [0.009553s] ... ok {9} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_filter_by_rsc [0.029394s] ... ok {9} ironic.tests.unit.db.test_api.MigrateFromIscsiTestCase.test_force_migration [0.037720s] ... ok {9} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_setting_not_exist [0.023630s] ... ok {9} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht [0.018024s] ... ok {9} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor_not_found [0.012983s] ... ok {9} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_touch_conductor [0.017672s] ... ok {9} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_uuid [0.018744s] ... ok {9} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_at_limit [0.337980s] ... ok {9} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_by_node_id [0.031506s] ... ok {9} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_provision [0.025950s] ... ok {9} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_inspection_finished_at [0.025973s] ... ok {9} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_no_provision [0.022197s] ... ok {9} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_create_portgroup_no_mode [0.020479s] ... ok {9} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroup_by_uuid [0.016459s] ... ok {9} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_sorted [0.025920s] ... ok {9} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id [0.018554s] ... ok {9} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_by_id [0.018120s] ... ok {9} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_fails_invalid_id [0.016381s] ... ok {9} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_update_volume_connector_uuid [0.014789s] ... ok {9} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_id [0.018348s] ... ok {9} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_list_sorted [0.021928s] ... ok {9} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_duplicated_nodeid_and_bootindex [0.019107s] ... ok {9} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_deploy [0.059905s] ... ok {9} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps_priority [0.046200s] ... ok {9} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_validate_not_iwdi_netboot [0.055117s] ... ok {9} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_write_image [0.061395s] ... ok {9} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info_no_playbook [0.015429s] ... ok {9} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__run_playbook_ansible_interpreter_python3 [0.015998s] ... ok {9} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__calculate_cpus [0.047685s] ... ok {9} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device [0.022199s] ... ok {9} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_multiple_jobs_completed_in_clean [0.074155s] ... ok {9} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac_wsman [0.029996s] ... ok {9} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_get_power_state [0.039569s] ... ok {9} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__filter_logical_disks_excelude_all [0.026569s] ... ok {9} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__commit_to_controllers_without_config_job [0.028191s] ... ok {9} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_commit_config_with_realtime [0.017219s] ... ok {9} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_modes [0.039645s] ... ok {9} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state_fail [0.057637s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy [0.052933s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__parse_driver_info_rescue_mode [0.057367s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_ramdisk [0.050866s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_webserver_exc [0.057078s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test__prepare_floppy_image [0.058387s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_bios [0.049619s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_scheme_http [0.049208s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_vmedia_for_boot_with_swift [0.056605s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_fails_for_invalid_component [0.006965s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_throws_error_if_checksum_validation_fails [0.067533s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_process_fw_on_verifies_checksum_of_downloaded_fw_file [0.066042s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_ok_gen10 [0.070256s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_ok [0.017964s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_with_logs_clean [0.052836s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_flash_firmware_sum_mode_with_component [0.050469s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_no_firmware_url_clean [0.056274s] ... ok {9} ironic.tests.unit.drivers.modules.ilo.test_vendor.VendorPassthruTestCase.test__validate_boot_into_iso_missing_boot_iso_href [0.041060s] ... ok {9} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect_empty [0.042760s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_name_ok [0.014249s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_file_url_ok [0.013931s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_deploy [0.044910s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_instance_without_secure_boot [0.051661s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test__configure_boot_from_volume_fc [0.077034s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_clean_up_instance [0.050497s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_report [0.015799s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_sensor_method [0.015776s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_set_boot_device_ok_pxe [0.221843s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_clean_fail [0.054090s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__wait_power_state_soft_reboot [0.076031s] ... ok {9} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_create_raid_with_raid_1_and_0 [0.052909s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_plug_port_to_tenant_network_client [0.059961s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_port_like_obj_by_vif_id_in_extra [0.060080s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_get_node_network_data [0.062155s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_remove_provisioning_network [0.069103s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_with_sg [0.055453s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_update_fail [0.045565s] ... ok {9} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_remove_rescuing_network [0.055590s] ... ok {9} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_wait_elapsed [0.063565s] ... ok {9} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_more_updates [0.051414s] ... ok {9} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_reboot_from_power_off [0.048021s] ... ok {9} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_resource_not_found [0.041719s] ... ok {9} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_check_image_size_fail [0.414511s] ... ok {9} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_noops_in_wrong_state2 [0.318017s] ... ok {9} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_agent_get_steps [0.051451s] ... ok {9} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_invalid_file [0.008307s] ... ok {9} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_url [0.007367s] ... ok {9} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_get_power_state [0.026354s] ... ok {9} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console_nopid [0.014762s] ... ok {9} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__verify_port_ipv6 [0.039476s] ... ok {9} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_socat_console_url_tcp6 [0.014545s] ... ok {9} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_bind_addr_ipv4 [0.022094s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_one [0.037764s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_instance_source [0.014754s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_trusted_boot_requested_true [0.006381s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_grub_config_whole_disk_image [0.007292s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_boot_iso_conflict [0.008789s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image_validation_fail [0.015270s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_good_non_glance_image [0.996677s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_missing_image_source [0.014194s] ... ok {9} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_ramdisk [0.013788s] ... ok {9} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_one_clean_up [0.022087s] ... ok {9} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_images_not_cleaned [0.008704s] ... ok {9} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test__download_image_linkfail [0.016752s] ... ok {9} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheFetch.test_fetch_image_dest_and_master_uptodate [0.010944s] ... ok {9} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test__find_param [0.015395s] ... ok {9} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_validate_invalid_kernel_params [0.015379s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_send_raw_bytes_ok [0.043780s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_single_bridging [0.017946s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_without_timing [0.017037s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key_odd_chars [0.015686s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_missing_parameters [0.020345s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_timeout [0.018272s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_bmc_initialization_in_progress [0.101194s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retries_exceeded_out_of_space [0.023885s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_insufficient_resources_for_session [0.021982s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail [0.052922s] ... ok {9} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_empty_password [0.066601s] ... ok {9} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_deploy_fast_track [0.069788s] ... ok {9} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying [0.072392s] ... ok {9} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployPrivateMethodsTestCase.test__get_image_file_path [0.013669s] ... ok {9} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_whole_disk_image_with_config_drive [0.017234s] ... ok {9} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_login_iscsi_calls_verify_and_update [0.009093s] ... ok {9} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_status_wrong_state [0.052999s] ... ok {9} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection [0.045776s] ... ok {9} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare_instance_ramdisk [0.116683s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_power_state_off [0.010408s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitchplus_snmp_objects [0.009908s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_on [0.013122s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_unknown_pdu [0.013090s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_delay_option [0.013806s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_timeout [0.014219s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_reset [0.012869s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_badproto [0.010187s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_default_proto [0.009606s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_nokey [0.009931s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_priv_short_key [0.009950s] ... ok {9} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_write_community [0.009342s] ... ok {9} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_deploy_interface [0.045134s] ... ok {9} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_IPA_command_fail [0.009652s] ... ok {9} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_only_key_or_value_fail [0.018638s] ... ok {9} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_ensure_next_boot_device_clears_is_next_boot_persistent [0.058790s] ... ok {9} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_default [0.009460s] ... ok {9} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_get_by_id [0.009758s] ... ok {9} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register [0.012234s] ... ok {9} ironic.tests.unit.objects.test_fields.TestStringFieldThatAcceptsCallable.test_coerce_default_as_function [1.029854s] ... ok {9} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_missing [0.010156s] ... ok {9} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_instance_not_found [0.012434s] ... ok {9} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_truncated [0.022545s] ... ok {9} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload_no_traits [0.010829s] ... ok {9} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_set_provision_state_payload [0.011100s] ... ok {9} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_emit_notification [0.014202s] ... ok {9} ironic.tests.unit.objects.test_objects.TestObject.test_get_changes [0.007008s] ... ok {9} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_api [0.007002s] ... ok {9} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test__process_object_convert_conductor [0.011222s] ... ok {9} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_object_serialization_iterables [0.006186s] ... ok {9} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_serialize_entity_invalid_pin [0.007813s] ... ok {9} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_supported [0.009357s] ... ok {9} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_supported_missing [0.009186s] ... ok {9} ironic.tests.unit.objects.test_port.TestPortObject.test_create [0.011299s] ... ok {9} ironic.tests.unit.objects.test_port.TestPortObject.test_get_bad_id_and_uuid_and_address [0.009519s] ... ok {9} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_save_after_refresh [0.028397s] ... ok PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/portgroup_uuid', 'value': '0072ca5b-10aa-44bf-8929-a5abc9d5dccc', 'op': 'add'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5cb18dcd-7b4c-4aa7-b556-fd790acaa4c8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "0072ca5b-10aa-44bf-8929-a5abc9d5dccc", "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": "2021-01-19T06:02:24.020133+00:00", "updated_at": "2021-01-19T06:02:24.055014+00:00"} 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-2edc6e31-f763-4b1b-ae3c-2c6f4c74b6be X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:24.080670+00:00", "updated_at": "2021-01-19T06:02:24.108501+00:00"} 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-9f81d4fa-538c-4b51-b279-945af981dd57 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Missing mandatory keys. Required keys are {'port_id', 'switch_id'}. Or in case of Smart NIC {'port_id', 'hostname'}. Submitted keys are {'switch_info', 'switch_id'} .\", \"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-624f9776-5f64-49e3-9be5-5a825472068d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:24.197452+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': 'dca3eb73-5dfd-4f4a-81ba-a0f3a83dca69', 'portgroup_uuid': '6eb02b44-18a3-4659-8c0b-8d2802581ae4'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-68c19f6b-2bea-4bd2-aeaa-57a7bf21ace2 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node dca3eb73-5dfd-4f4a-81ba-a0f3a83dca69 could not be found.\", \"debuginfo\": null}"} POST: /v1/ports {'uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c781', 'address': '52:54:00:cf:2d:31', 'extra': {'vif_port_id': '68dd31aa-d8c9-479c-9de8-9058e7163cf1'}, '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: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-5210a0ff-a9b4-4fc8-bb6b-82235c9da96b X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': '352f768f-213b-4ac6-8649-11c1b7ff28af'}, '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-b1a5b891-0acc-41ab-bbbc-6b0227022ef0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {"vif_port_id": "352f768f-213b-4ac6-8649-11c1b7ff28af"}, "internal_info": {"tenant_vif_port_id": "352f768f-213b-4ac6-8649-11c1b7ff28af"}, "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": "2021-01-19T06:02:24.338249+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-8b0c383c-a898-4a5d-8495-94ad9d28e694 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:24.391779+00:00", "updated_at": null}{11} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_extra_vif_port_id_deprecated [1.607349s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_portgroup.TestDelete.test_delete_portgroup_byname [0.044098s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_all_ports_by_portgroup_uuid [0.055449s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_links [0.083506s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_ports_subresource_no_portgroups_allowed [0.030447s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_replace_non_existent_node_uuid [0.040132s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_address_invalid_format [0.033202s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_mode_properties [0.045084s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_no_mandatory_field_node_uuid [0.032696s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_root.TestCheckVersions.test_check_version_invalid_major_version [0.005950s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_types.TestEventType.test_missing_mandatory_fields_network_port_event [0.006066s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_update_internal_dict_attr [0.022060s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_storage_interface [0.006118s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach_unicode_to_byte [0.006581s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_invalid_power_state [0.048496s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_sort_key [0.053602s] ... ok 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?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': '2021-01-19T06:02:32.615833+00:00', 'updated_at': None}]} 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-f67daefd-ca0a-4690-830d-aee85b73625f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Field(s) \\\"spongebob\\\" are not valid\", \"debuginfo\": null}"} 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': '/extra/foo1', 'op': 'remove'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-32bfc190-f9f6-448a-b8a3-61bdf416e955 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:32.759523+00:00", "updated_at": "2021-01-19T06:02:32.763321+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-7a8ee0e5-bde1-40ed-a75e-656aff195338 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:32.759523+00:00", "updated_at": "2021-01-19T06:02:32.763321+00:00"} 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-1da851df-d8c7-4fd5-98c4-6c057ae89e71 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received 123.\", \"debuginfo\": null}"} 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/5360bafc-bd3d-49bc-ba94-cf18f6c53689 {} GOT:{'uuid': '5360bafc-bd3d-49bc-ba94-cf18f6c53689', '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/5360bafc-bd3d-49bc-ba94-cf18f6c53689', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/5360bafc-bd3d-49bc-ba94-cf18f6c53689', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:29.732327+00:00', 'updated_at': None} GET: /v1/volume/connectors/5360bafc-bd3d-49bc-ba94-cf18f6c53689 {} GOT:{'uuid': '5360bafc-bd3d-49bc-ba94-cf18f6c53689', '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/5360bafc-bd3d-49bc-ba94-cf18f6c53689', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/5360bafc-bd3d-49bc-ba94-cf18f6c53689', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:29.732327+00:00', 'updated_at': None} GET: /volume/connectors/5360bafc-bd3d-49bc-ba94-cf18f6c53689 {} GOT:{'uuid': '5360bafc-bd3d-49bc-ba94-cf18f6c53689', '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/5360bafc-bd3d-49bc-ba94-cf18f6c53689', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/5360bafc-bd3d-49bc-ba94-cf18f6c53689', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:29.732327+00:00', 'updated_at': None} 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-863f42b1-22b3-4e5c-a863-adb6ca290639 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute type. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} 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-06a6d794-cf55-421a-bc75-2aa7e1f23b60 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:29.850517+00:00", "updated_at": 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: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-58eb2bc3-1e1a-4410-8e0d-3432341a944e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"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': None} GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-ce8007c5-6874-49c0-84ea-5253ea2f3fee {"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: /v1/foo {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} Running batches of 50 until migrations have been completed. 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-c653407f-c891-479c-a348-03ac928c346a X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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.\"}"} 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-ceaf07d9-7a47-45bc-b820-257a19c63fd4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:27.716781+00:00", "updated_at": "2021-01-19T06:02:27.750755+00:00"} 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-742be706-cd20-4829-b49f-1aa2746c841c X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:27.793784+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-27ed7ea2-a748-410a-89bc-37308268a094 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:27.837666+00:00", "updated_at": null} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=bcd1a885-b47f-40d5-9a8a-e30df94e6c79 {} GOT:{'node': {'uuid': 'bcd1a885-b47f-40d5-9a8a-e30df94e6c79', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value', 'agent_secret_token': '******'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'links': [{'href': 'http://localhost/v1/nodes/bcd1a885-b47f-40d5-9a8a-e30df94e6c79', 'rel': 'self'}, {'href': 'http://localhost/nodes/bcd1a885-b47f-40d5-9a8a-e30df94e6c79', '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, 'agent_token': 'abcxyz', 'agent_token_required': True}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=bcd1a885-b47f-40d5-9a8a-e30df94e6c79 {} GOT:{'node': {'uuid': 'bcd1a885-b47f-40d5-9a8a-e30df94e6c79', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value', 'agent_secret_token': '******'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'links': [{'href': 'http://localhost/v1/nodes/bcd1a885-b47f-40d5-9a8a-e30df94e6c79', 'rel': 'self'}, {'href': 'http://localhost/nodes/bcd1a885-b47f-40d5-9a8a-e30df94e6c79', '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, 'agent_token': 'abcxyz', 'agent_token_required': True}} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=bcd1a885-b47f-40d5-9a8a-e30df94e6c79 {} GOT:{'node': {'uuid': 'bcd1a885-b47f-40d5-9a8a-e30df94e6c79', 'instance_info': {'configdrive': '******', 'image_url': '******', 'foo': 'bar'}, 'driver_internal_info': {'private_state': 'secret value', 'agent_secret_token': '******'}, 'properties': {'cpu_arch': 'x86_64', 'cpus': '8', 'local_gb': '10', 'memory_mb': '4096'}, 'links': [{'href': 'http://localhost/v1/nodes/bcd1a885-b47f-40d5-9a8a-e30df94e6c79', 'rel': 'self'}, {'href': 'http://localhost/nodes/bcd1a885-b47f-40d5-9a8a-e30df94e6c79', '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, 'agent_token': 'abcxyz', 'agent_token_required': True}} 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-73c85abb-4f7b-449b-9867-a961350fc889 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:27.995028+00:00", "updated_at": null}{16} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_multi [2.768184s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_add_node_id [0.040810s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_error [0.039181s] ... ok {16} ironic.tests.unit.api.controllers.v1.test_volume_target.TestDelete.test_delete_volume_target_byid [0.045110s] ... ok {16} ironic.tests.unit.api.test_args.TestArgs.test_fromjson_bool [0.006148s] ... ok {16} ironic.tests.unit.api.test_args.TestArgs.test_parse [0.006426s] ... ok {16} ironic.tests.unit.api.test_types.TestTypes.test_private_attr [0.005428s] ... ok {16} ironic.tests.unit.api.test_types.TestTypes.test_unregister [0.005344s] ... ok {16} ironic.tests.unit.api.test_types.TestTypes.test_unset [0.005579s] ... ok {16} ironic.tests.unit.api.test_types.TestTypes.test_validate_int [0.005271s] ... ok {16} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_2_onedone [0.013740s] ... ok {16} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_ignore_models [0.011593s] ... ok {16} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_versions_bad [0.012668s] ... ok {16} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_detach_meta_failure_errors_not_allowed [0.050536s] ... ok {16} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface [0.016391s] ... ok {16} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_no_network_interface_default_from_conf [0.016407s] ... ok {16} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_network_from_additional_defaults_hardware_type [0.009250s] ... ok {16} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_incorrect [0.036416s] ... ok {16} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_get_hardware_type_existing [0.009608s] ... ok {16} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable_invalid_state [0.005621s] ... ok {16} ironic.tests.unit.common.test_glance_service.TestGlanceImageService.test_client_forbidden_converts_to_imagenotauthed [1.379775s] ... ok {16} ironic.tests.unit.common.test_glance_service.TestGlanceSerializer.test_serialize [0.000276s] ... ok {16} ironic.tests.unit.common.test_glance_service.TestServiceUtils.test_parse_image_id_from_glance_fail [0.010378s] ... ok {16} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_add_items_to_cache [0.012676s] ... ok {16} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_automatic_retry [0.059475s] ... ok {16} ironic.tests.unit.common.test_hash_ring.HashRingManagerWithGroupsTestCase.test_hash_ring_manager_uncached [0.017685s] ... ok {16} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_segmented [0.023802s] ... ok {16} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_false_error [0.007838s] ... ok {16} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_image_show_no_image_service [0.007228s] ... ok {16} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_unexpected_failure [0.008729s] ... ok {16} ironic.tests.unit.common.test_json_rpc.TestSession.test_noauth [0.010030s] ... ok {16} ironic.tests.unit.common.test_keystone.KeystoneTestCase.test_get_service_auth [0.042214s] ... ok {16} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_no_segment [0.008527s] ... ok {16} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_all_ports_fail [0.049882s] ... ok {16} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_get_neutron_port_data [0.017609s] ... ok {16} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_ports_delete_race [0.048190s] ... ok {16} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_down [0.021840s] ... ok {16} ironic.tests.unit.common.test_neutron.TestUnbindPort.test_unbind_neutron_port_not_found [0.020335s] ... ok {16} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_is_allocation_owner [1.399663s] ... ok {16} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_whole_disk_image [0.038970s] ... ok {16} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_from_conf_rescue [0.015540s] ... ok {16} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_mixed_source_rescue [0.015280s] ... ok {16} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config_no_extra_volumes [0.037078s] ... ok {16} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_timeout_config [0.032620s] ... ok {16} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_swift [0.075283s] ... ok {16} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_skip_nonroot [0.015199s] ... ok {16} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_get_logical_disk_properties [0.015819s] ... ok {16} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_multiple_is_root_volume [0.010845s] ... ok {16} ironic.tests.unit.common.test_rpc.TestRequestContextSerializer.test_deserialize_entity [0.007336s] ... ok {16} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_unix_file_modification_datetime [0.006743s] ... ok {16} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_validate_network_port [0.005812s] ... ok {16} ironic.tests.unit.common.test_utils.JinjaTemplatingTestCase.test_render_file [0.013625s] ... ok {16} ironic.tests.unit.common.test_utils.TempFilesTestCase.test_check_dir_no_dir [0.009611s] ... ok {16} ironic.tests.unit.conductor.test_base_manager.CheckInterfacesTestCase.test__check_enabled_interfaces_failure [0.009480s] ... ok {16} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_unregisters_conductor [0.114992s] ... ok {16} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios [0.073562s] ... ok {16} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_exception [0.074816s] ... ok {16} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_power_validate_fail [0.070493s] ... ok {16} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_prepare_clean_wait [0.072049s] ... ok {16} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_first_step_async [0.083006s] ... ok {16} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_all [0.127835s] ... ok {16} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_manual_continue_from_last_cleaning [0.073435s] ... ok {16} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_async [0.174322s] ... ok {16} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_with_vendor_data [0.398729s] ... ok {16} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_unexpected_prepare_error [0.179712s] ... ok {16} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_deploy_timeouts [0.189331s] ... ok {16} ironic.tests.unit.conductor.test_manager.DestroyVolumeConnectorTestCase.test_destroy_volume_connector_node_locked [0.029570s] ... ok {16} ironic.tests.unit.conductor.test_manager.DestroyVolumeTargetTestCase.test_destroy_volume_target_node_locked [0.029102s] ... ok {16} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_take_over_failure [0.158852s] ... ok {16} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_verify_ca [0.167543s] ... ok {16} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_worker_pool_full [0.156236s] ... ok {16} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_wrong_state [0.139966s] ... ok {16} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_provide_in_maintenance [0.137950s] ... ok {16} ironic.tests.unit.conductor.test_manager.IndicatorsTestCase.test_get_supported_indicators [0.031685s] ... ok {16} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_alive [0.125512s] ... ok {16} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_deploywait_on_acquire [0.014168s] ... ok {16} ironic.tests.unit.conductor.test_manager.ManagerTestProperties.test_driver_properties_fake [0.115345s] ... ok {16} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config [0.063448s] ... ok {16} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_already_associated [0.041793s] ... ok {16} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_reason_without_retired [0.021323s] ... ok {16} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_retired_set [0.112903s] ... ok {16} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_node_active_state_and_maintenance [0.052787s] ... ok {16} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector_uuid [0.046801s] ... ok {16} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_volume_type [0.045362s] ... ok {16} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_async [0.132398s] ... ok {16} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_version_capped [0.013607s] ... ok {16} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_conductor_for [0.016553s] ... ok {16} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_backport_versions [0.012316s] ... ok {16} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_remove_node_traits_all [0.012140s] ... ok {16} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_set_boot_device [1.165290s] ... ok {16} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_missing_required_arg [0.046046s] ... ok {16} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test_set_node_cleaning_steps_automated [0.063915s] ... ok {16} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_steps [0.046242s] ... ok {16} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_user_steps [0.045804s] ... ok {16} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_get_volconn_exception [0.019362s] ... ok {16} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_not_deploy [0.007178s] ... ok {16} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track [0.048190s] ... ok {16} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_remove_node_rescue_password_save_true [0.035145s] ... ok {16} ironic.tests.unit.conductor.test_utils.NodeGetBootModeTestCase.test_node_get_boot_mode_unsupported [0.045605s] ... ok {16} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_no_physnet_update_1 [0.054143s] ... ok {16} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_no_portgroup_create [0.047856s] ... ok {16} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id [0.017723s] ... ok {16} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_version_exists [0.051667s] ... ok {16} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_list [0.020392s] ... ok {16} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_one_host_one_ht_groups [0.017965s] ... ok {16} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait_node_not_exist [0.017059s] ... ok {16} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node [0.021857s] ... ok {16} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_volume_connector_get_destroyed_after_destroying_a_node_uuid [0.026818s] ... ok {16} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list_filter_by_node_owner [0.025603s] ... ok {16} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list [0.024002s] ... ok {16} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_create_volume_target_duplicated_uuid [0.016956s] ... ok {16} ironic.tests.unit.dhcp.test_factory.CompareBasetoModules.test_drivers_match_dhcp_base [0.006504s] ... ok {16} ironic.tests.unit.dhcp.test_factory.TestDHCPFactory.test_default_dhcp [0.005956s] ... ok {16} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_ip_addresses_portgroup_int_info [0.056132s] ... ok {16} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses_for_port_and_portgroup [0.053584s] ... ok {16} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down_agent_soft_poweroff_retry [0.064595s] ... ok {16} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__prepare_variables_insecure_activated [0.056203s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_set_fail [0.053102s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_get_drac_client [0.076509s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_gpu [0.065835s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_supported_gpu [0.066151s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_job.DracVendorPassthruJobTestCase.test_list_unfinished_jobs [0.058382s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__get_boot_device_with_no_boot_device [0.021491s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_without_clean_step [1.016171s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_with_completed_job_already_failed_in_deploy [0.064395s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__query_raid_config_job_status_drac [0.028242s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_success [0.053831s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration_with_more_than_min_disks_for_raid_level [0.025779s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_delete_existing [0.097736s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_predefined_number_of_physical_disks [0.095098s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_in_deploy [0.090010s] ... ok {16} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_delete_configuration_with_mix_realtime_controller_in_raid_mode [0.076042s] ... ok {16} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_device_fail [0.048826s] ... ok {16} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_default_scheme [0.013069s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_post_boot_bios_step_invalid_cleaning [0.062361s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_true [0.052291s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.088350s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_from_volume [0.973053s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image [0.073266s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_not_a_glance_image [0.084120s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_instance_boot_from_volume [0.059778s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_attach_vmedia_fails [0.016018s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_false [0.045081s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_ipmi_properties [0.045438s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_dir [0.014410s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate [0.045925s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_file_based_me [0.017289s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_invalid_component [0.005606s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_get_and_validate_firmware_image_info_sum_with_component [0.004982s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_not_dict [0.012262s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_completed [0.054503s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_without_logs_clean [0.040855s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_sensor_data [0.045458s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_ok [0.051018s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_clean [0.055578s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_error_for_invalid_component_type_deploy [0.057023s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerTestCase.test_validate_fail [0.037006s] ... ok {16} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_with_read_raid_cleaning [0.083424s] ... ok {16} ironic.tests.unit.drivers.modules.intel_ipmi.test_intel_ipmi.IntelIPMIHardwareTestCase.test_override_with_shellinabox [0.043704s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__detach_virtual_fd_ok [0.046517s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_driver_info_with_iso_invalid [0.043883s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_for_boot_without_parameters [0.049026s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.055991s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.315732s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_whole_disk_image_local [0.066815s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue [0.052827s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info [0.013891s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test__init_fail_invalid_fpga_ids_input [0.013206s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_two_nodes_without_raid_config [0.034175s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_input [0.031221s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [0.037561s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_reboot_power_on_timeout [0.042973s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_not_enough_valid_disks [0.036801s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_incorrect_valid_disks [0.040462s] ... ok {16} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationTestCase.test_delete_raid_configuration_return_cleared_raid_config [0.044351s] ... ok {16} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id [0.048079s] ... ok {16} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_failure [0.050937s] ... ok {16} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node [0.066322s] ... ok {16} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id_portgroup [0.053695s] ... ok {16} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_rescuing_network_with_sg [0.050104s] ... ok {16} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_node_network_data [0.050306s] ... ok {16} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_configuration_not_supported [0.057197s] ... ok {16} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_get_properties [0.038080s] ... ok {16} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_post_configuration [0.066489s] ... ok {16} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ignore_missing_nics [0.057385s] ... ok {16} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_not_redfish [0.027781s] ... ok {16} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_restore_boot_device_failure [0.046944s] ... ok {16} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_validate [0.036967s] ... ok {16} ironic.tests.unit.drivers.modules.redfish.test_power.RedfishPowerTestCase.test_validate [0.041618s] ... ok {16} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_system_multiple_systems [0.039174s] ... ok {16} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service_error [0.013001s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_create_configuration_skip_root [0.038983s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_get_clean_steps_config_priority [0.041726s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_instance_info_missing_params [0.057038s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_missing_args_local_http [0.013296s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning [0.048321s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_no_power_on_support [0.054560s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_soft_poweroff_race [0.052874s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_with_reservation [0.064566s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_find_step_not_found [0.040521s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_steps_missing_steps [0.050917s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_clean_steps [0.006257s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_power_off [0.006330s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_one_timeout [0.007178s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_into_instance [0.052539s] ... ok {16} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate_fails [0.016712s] ... ok {16} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__ensure_console_pid_dir_exists_fail [0.013043s] ... ok {16} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir [0.010912s] ... ok {16} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_file [0.012878s] ... ok {16} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout [0.027552s] ... ok {16} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_socat_console_check_arg_timeout_disabled [0.025358s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_direct_deploy_should_convert_raw_image_partition [0.021140s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_tear_down_inband_cleaning [0.057297s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_whole_disk_image_missing_root [0.016772s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_set_failed_state_collect_deploy_logs_overide [0.076438s] ... ok {16} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_uefi_elilo_config_whole_disk_image [0.008247s] ... ok {16} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test__append_filename_param_with_filename [0.016073s] ... ok {16} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_publish_image_swift [0.030494s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckOptionSupportedTestCase.test_check_single_bridge_fail [0.009984s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_dump_sdr_ok [0.051732s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_get_power_state [0.050862s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_timeout_fail [0.057988s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_no_sleep [0.021551s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_ironic_retries [0.020876s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_numeric_password [0.019084s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_non_retryable_failure_out_of_space [0.022394s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate [0.039068s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test_console_validate_missing_port_auto_allocate [0.041888s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_clean_up_ramdisk [0.072628s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_bool_true [0.100999s] ... ok {16} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_with_copy_no_file [0.099198s] ... ok {16} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSISetupAndHandleErrorsTestCase.test_no_parent_device [0.007548s] ... ok {16} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_netboot_uefi [0.012052s] ... ok {16} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_deploy [0.180420s] ... ok {16} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_prepare_fixes_and_logs_boot_option_warning [0.083497s] ... ok {16} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_off [0.012500s] ... ok {16} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_on [0.011161s] ... ok {16} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_off [0.013407s] ... ok {16} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_teltronix_power_state_on [0.009826s] ... ok {16} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_eatonpower [0.008594s] ... ok {16} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_get_param_from_config [0.014067s] ... ok {16} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_unknown_key [0.005696s] ... ok {16} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_indicators [0.039112s] ... ok {16} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_set_boot_mode_good [0.039159s] ... ok {16} ironic.tests.unit.drivers.test_generic.ManualManagementHardwareTestCase.test_supported_interfaces [0.037347s] ... ok {16} ironic.tests.unit.drivers.test_ilo.IloHardwareTestCase.test_override_with_no_bios [0.033763s] ... ok {16} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_default_interfaces [0.036231s] ... ok {16} ironic.tests.unit.drivers.test_ipmi.IPMIHardwareTestCase.test_override_with_agent_rescue [0.036663s] ... ok {16} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_bad_method [0.037728s] ... ok {16} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict [0.011563s] ... ok {16} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_to_dict_with_incorrect_format_fail [0.012904s] ... ok {16} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_get_bad_id_and_uuid_and_name [0.007558s] ... ok {16} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save [0.009769s] ... ok This is bad{16} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_default [0.007757s] ... ok {16} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_unsupported_missing [0.008336s] ... ok {16} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_unsupported_missing [0.008082s] ... ok {16} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_unsupported_set_no_remove_non_default [0.008526s] ... ok {16} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_traits_supported_missing [0.008420s] ... ok {16} ironic.tests.unit.objects.test_node.TestNodeObject.test_refresh [0.010149s] ... ok {16} ironic.tests.unit.objects.test_objects.TestObject.test__from_db_object [0.005739s] ... ok {16} ironic.tests.unit.objects.test_objects.TestObject.test_changed_4 [0.005337s] ... ok {16} ironic.tests.unit.objects.test_objects.TestObject.test_do_version_changes_for_db [0.006085s] ... ok {16} ironic.tests.unit.objects.test_objects.TestObject.test_obj_constructor [0.007806s] ... ok {16} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_revision_does_not_backport [0.006186s] ... ok {16} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.007697s] ... ok {16} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_by_uuid [0.009047s] ... ok {16} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_save [0.009757s] ... ok 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\": \"\"}"} 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-7796b131-d89e-4846-b506-c25bcf0f910f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:28.917970+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-58948115-21cd-4324-a4bb-6143dcb22181 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': '/connector_id', 'value': 'test-connector-id-999', 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-70c3fe09-b4fa-41f1-80b7-58c846666439 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:29.012608+00:00", "updated_at": null} 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\": \"\"}"} GET: /v1/volume/targets?node=test-node {} GOT:{'targets': [{'uuid': '14f4b486-ed47-4b4b-a7d4-b7306240ef53', 'volume_type': 'iscsi', 'boot_index': 0, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/14f4b486-ed47-4b4b-a7d4-b7306240ef53', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/14f4b486-ed47-4b4b-a7d4-b7306240ef53', 'rel': 'bookmark'}]}, {'uuid': '5093f57d-8392-4b66-bf78-436112aaa413', 'volume_type': 'iscsi', 'boot_index': 1, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/5093f57d-8392-4b66-bf78-436112aaa413', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/5093f57d-8392-4b66-bf78-436112aaa413', 'rel': 'bookmark'}]}, {'uuid': '48edec9e-76a7-4097-bc24-e81ea9de31aa', 'volume_type': 'iscsi', 'boot_index': 2, 'volume_id': '12345678', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/targets/48edec9e-76a7-4097-bc24-e81ea9de31aa', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/48edec9e-76a7-4097-bc24-e81ea9de31aa', 'rel': 'bookmark'}]}]} GET: /v1/volume/targets?fields=uuid,extra {} GOT:{'targets': [{'uuid': '22cb24b9-9cea-4afa-8e0f-47aa4581f0a3', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/22cb24b9-9cea-4afa-8e0f-47aa4581f0a3', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/22cb24b9-9cea-4afa-8e0f-47aa4581f0a3', 'rel': 'bookmark'}]}, {'uuid': '791fb9e7-538d-485a-9d3a-a3ef663a61c4', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/791fb9e7-538d-485a-9d3a-a3ef663a61c4', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/791fb9e7-538d-485a-9d3a-a3ef663a61c4', 'rel': 'bookmark'}]}, {'uuid': 'ffded70d-361b-4a57-9a1d-e72def04201a', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/targets/ffded70d-361b-4a57-9a1d-e72def04201a', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/ffded70d-361b-4a57-9a1d-e72def04201a', 'rel': 'bookmark'}]}]} 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 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} 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-9e73e621-3d20-427d-9afc-fb359f51c324 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"debuginfo\": null}"} GET: / {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-89bfcaca-406f-4a80-844a-54bb5e30c36e {"error_message": "{\"faultcode\":\"Client\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} {'links': [{'id': 'port1', 'type': 'vif', 'ethernet_mac_address': '52:54:00:4f:ef:b7', 'vif_id': '96d4bfb9-b26e-41f3-bd2e-e6dcc1ccedb8', 'mtu': 1500}], 'networks': [{'id': '906e685a-b964-4d58-9939-9cf3af197c67', 'network_id': 'a87cc70a-3e15-4acf-8205-9b711a3531b7', 'type': 'ipv6', 'link': 'port1', 'ip_address': 'fd00:203:0:113::2', 'netmask': 'ffff:ffff:ffff:ffff::', 'routes': [{'network': '::0', 'netmask': '::0', 'gateway': 'fd00:203:0:113::1'}]}]} 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-a10aba4f-7859-4c55-a032-d7ece22931e7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Adding a new attribute (/node_id) to the root of the resource is not allowed\", \"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: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-a881dc43-8479-452f-afb6-2eddd1fd7a53 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Server\", \"faultstring\": \"\", \"debuginfo\": null}"} DELETE: /v1/volume/targets/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-a8cc3e65-4cee-484c-aedb-7c082b77aec9 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 func1() migrated 10 of 10 objects. 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: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 Openstack-Request-Id: req-fcc7b828-6646-431b-b29d-e742999d8be0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:25.473370+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': '2021-01-19T06:02:25.473370+00:00'} POST: /v1/nodes/node-109/vendor_passthru/test {'foo': 'bar'} GOT:Response: 202 Accepted Content-Type: application/json Openstack-Request-Id: req-ce9c0e57-a27c-42ea-a8e4-85b4037199b5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 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-9256c5e8-52dc-4dd3-b180-247c462bc1dd X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-cbab40dd-8c73-4b9c-a5be-c9596f0aa166 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-5f0806c1-a7e6-48f3-b535-96eeec11ad3e X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': 'inspect'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-02510e29-23a3-4f05-b029-4cbfefe11273 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/power {'target': 'soft power off'}{19} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_soft_power_off_no_timeout_invalid_soft_ver [2.564154s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_disallowed_states [0.141822s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name_unsupported [0.041730s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state [0.047607s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits [0.051930s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_fails_with_bad_version [0.030187s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_collection_links [0.066766s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_empty [0.038172s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_all_by_portgroup_uuid_and_node_uuid [0.033910s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_links_public_url [0.094358s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_portgroups_subresource_invalid_ident [0.024903s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_multi [0.062108s] ... ok 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-53728116-c229-4e00-9b65-2d0b7e3357e5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-593f0520-2b60-4ea5-97f0-c4c5c09e7e9e X-Openstack-Ironic-Api-Maximum-Version: 1.68 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'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-d6c61f46-d8cc-453b-b2a7-533aafbcd3d6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:27.565871+00:00", "updated_at": null} 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-f9ffb950-3e51-421b-8e96-0e41d185b81d X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:27.617424+00:00", "updated_at": "2021-01-19T06:02:27.652860+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-1f1fcbb4-288e-4039-854d-384761f8104e X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:27.681325+00:00", "updated_at": "2021-01-19T06:02:27.716298+00:00"} 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-145ea5c7-c147-4a21-856c-9f7df9ddfdff X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\", \"debuginfo\": null}"} 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 {} GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} 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-db1ff692-28e7-4d25-843f-80c33fc53010 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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}"} 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/a03e9b11-d392-408f-8853-e0ef73fca122 Openstack-Request-Id: req-6f8ce9f8-136d-4351-8447-c58abb7d8750 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "a03e9b11-d392-408f-8853-e0ef73fca122", "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/a03e9b11-d392-408f-8853-e0ef73fca122", "rel": "self"}, {"href": "http://localhost/volume/targets/a03e9b11-d392-408f-8853-e0ef73fca122", "rel": "bookmark"}], "created_at": "2021-01-19T06:02:27.965814+00:00", "updated_at": null} GET: /v1/volume/targets/a03e9b11-d392-408f-8853-e0ef73fca122 {} GOT:{'uuid': 'a03e9b11-d392-408f-8853-e0ef73fca122', '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/a03e9b11-d392-408f-8853-e0ef73fca122', 'rel': 'self'}, {'href': 'http://localhost/volume/targets/a03e9b11-d392-408f-8853-e0ef73fca122', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:27.965814+00:00', 'updated_at': None} DELETE: /v1/portgroups/pg.1 GOT:Response: 204 No Content Openstack-Request-Id: req-3c581983-3e1e-409a-9afa-91c0cef2eea9 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 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/38255342-3b12-4bf0-b9dd-467c47eae4b4 {} GOT:{'uuid': '38255342-3b12-4bf0-b9dd-467c47eae4b4', '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/38255342-3b12-4bf0-b9dd-467c47eae4b4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/38255342-3b12-4bf0-b9dd-467c47eae4b4', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, 'ports': [{'href': 'http://localhost/v1/portgroups/38255342-3b12-4bf0-b9dd-467c47eae4b4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/38255342-3b12-4bf0-b9dd-467c47eae4b4/ports', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:28.208461+00:00', 'updated_at': None} GET: /v1/portgroups/38255342-3b12-4bf0-b9dd-467c47eae4b4 {} GOT:{'uuid': '38255342-3b12-4bf0-b9dd-467c47eae4b4', '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/38255342-3b12-4bf0-b9dd-467c47eae4b4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/38255342-3b12-4bf0-b9dd-467c47eae4b4', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, 'ports': [{'href': 'http://localhost/v1/portgroups/38255342-3b12-4bf0-b9dd-467c47eae4b4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/38255342-3b12-4bf0-b9dd-467c47eae4b4/ports', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:28.208461+00:00', 'updated_at': None} GET: /portgroups/38255342-3b12-4bf0-b9dd-467c47eae4b4 {} GOT:{'uuid': '38255342-3b12-4bf0-b9dd-467c47eae4b4', '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/38255342-3b12-4bf0-b9dd-467c47eae4b4', 'rel': 'self'}, {'href': 'http://localhost/portgroups/38255342-3b12-4bf0-b9dd-467c47eae4b4', 'rel': 'bookmark'}], 'standalone_ports_supported': True, 'mode': 'active-backup', 'properties': {}, 'ports': [{'href': 'http://localhost/v1/portgroups/38255342-3b12-4bf0-b9dd-467c47eae4b4/ports', 'rel': 'self'}, {'href': 'http://localhost/portgroups/38255342-3b12-4bf0-b9dd-467c47eae4b4/ports', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:28.208461+00:00', 'updated_at': None} GET: /v1/portgroups/5fa09468-28b0-4250-9ab5-d22ff59a9d41/ports {} 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': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-72ee8394-54a4-4d0b-8d58-9c2d540e3e91 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': 'invalid-format', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-56372645-e260-4da1-9222-6dd7c239f359 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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, '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-0df9e39a-21d3-4fd3-87a4-f741db5ebd5f X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:28.414305+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} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-41fbf426-6fe6-4cc5-ab8d-8c329db581fe X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute node_uuid. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} DELETE: /v1/volume/connectors/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-258d6246-6844-4905-9b27-d0a77b832ab7 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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?sort_key=uuid {} GOT:{'connectors': [{'uuid': '270d0813-45da-4f88-8c2f-aaad75301536', 'type': 'iqn', 'connector_id': 'test-connector_id-2', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/270d0813-45da-4f88-8c2f-aaad75301536', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/270d0813-45da-4f88-8c2f-aaad75301536', 'rel': 'bookmark'}]}, {'uuid': '572e050c-36ab-4977-a64d-ef3f4063c2fc', 'type': 'iqn', 'connector_id': 'test-connector_id-1', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/572e050c-36ab-4977-a64d-ef3f4063c2fc', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/572e050c-36ab-4977-a64d-ef3f4063c2fc', 'rel': 'bookmark'}]}, {'uuid': 'efd1f941-3ee2-4caf-a573-41131de75518', 'type': 'iqn', 'connector_id': 'test-connector_id-0', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/efd1f941-3ee2-4caf-a573-41131de75518', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/efd1f941-3ee2-4caf-a573-41131de75518', 'rel': 'bookmark'}]}]} 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'}{11} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_node_uuid_not_found [1.635205s] ... ok {11} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_type_value_already_exist [0.070096s] ... ok {11} ironic.tests.unit.api.test_args.TestArgs.test_from_param [0.006630s] ... ok {11} ironic.tests.unit.api.test_middleware.TestBasicAuthMiddleware.test_not_authenticated [0.012841s] ... ok {11} ironic.tests.unit.api.test_ospmiddleware.TestOsprofilerWsgiMiddleware.test_enable_osp_wsgi_request [0.015926s] ... ok {11} ironic.tests.unit.api.test_root.TestRoot.test_no_html_errors2 [0.019638s] ... ok {11} ironic.tests.unit.api.test_types.TestTypes.test_selfreftype [0.007001s] ... ok {11} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_one_detached [0.057345s] ... ok {11} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_driver_not_found [0.033398s] ... ok {11} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_uncached [0.010929s] ... ok {11} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_validate_href_path_not_found_or_not_file [0.007246s] ... ok {11} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_error_with_secret_parameter [0.006444s] ... ok {11} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_os_error [0.006684s] ... ok {11} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_https_image_service [0.007631s] ... ok {11} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_partition_non_glance [0.007810s] ... ok {11} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_serialization [0.013435s] ... ok {11} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_success_with_version_and_cap [0.009639s] ... ok {11} ironic.tests.unit.common.test_network.TestNetwork.test_remove_vifs_from_node [0.077023s] ... ok {11} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_multiple_segments_no_physnet [0.007988s] ... ok {11} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_network_no_pxe_enabled_ports [0.054271s] ... ok {11} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_ports_from_network_not_all_pxe_enabled_all_ports [0.052245s] ... ok {11} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_verify_sec_groups_no_sg_from_neutron [0.019403s] ... ok {11} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_port_status_active_max_retry [0.027575s] ... ok {11} ironic.tests.unit.common.test_neutron.TestUpdateNeutronPort.test_update_neutron_port_with_exception [0.011519s] ... ok {11} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed_no_nova_auth_url [0.015113s] ... ok {11} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_node_create [0.010529s] ... ok {11} ironic.tests.unit.common.test_policy.PolicyTestCase.test_authorize_access_forbidden [0.009948s] ... ok {11} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_namespace [0.033963s] ... ok {11} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_ipa_debug [0.050538s] ... ok {11} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_deploy_kernel [0.016253s] ... ok {11} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_rescue [0.017339s] ... ok {11} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_mac_address [0.055970s] ... ok {11} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_clean_up_pxe_config_uefi_no_ipaddress [0.052330s] ... ok {11} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_pxe_config [0.023969s] ... ok {11} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot [0.069219s] ... ok {11} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_get_volume_pxe_options_unsupported_additional_volume_type [0.054106s] ... ok {11} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_okay [0.037562s] ... ok {11} ironic.tests.unit.common.test_release_mappings.ReleaseMappingsTestCase.test_rpc_and_objects_versions_supported [0.007484s] ... ok {11} ironic.tests.unit.common.test_rpc.TestUtils.test_get_sensors_notifier_no_notifier [0.006077s] ... ok {11} ironic.tests.unit.common.test_rpc_service.TestRPCService.test_start [0.025378s] ... ok {11} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_add_to_existing_capabilities [0.006349s] ... ok {11} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_replace_to_existing_capabilities [0.005742s] ... ok {11} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_not_writable [0.008142s] ... ok {11} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_writable_ok [0.008276s] ... ok {11} ironic.tests.unit.conductor.test_allocations.AllocationTestCase.test_check_orphaned_allocations [0.132551s] ... ok {11} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_with_traits [0.081956s] ... ok {11} ironic.tests.unit.conductor.test_base_manager.KeepAliveTestCase.test__conductor_service_record_keepalive [0.118104s] ... ok {11} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_prevent_double_start [0.110810s] ... ok {11} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_clears_conductor_locks [0.130474s] ... ok {11} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_unsupported [0.065656s] ... ok {11} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_automated_all [0.340961s] ... ok {11} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot [0.078723s] ... ok {11} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test_do_next_clean_step_oob_reboot_fail [0.092212s] ... ok {11} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_last_step_done [1.111278s] ... ok {11} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test__check_cleanwait_timeouts_boot_timeout [0.193359s] ... ok {11} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_get_console_disabled [0.039503s] ... ok {11} ironic.tests.unit.conductor.test_manager.CreateNodeTestCase.test_create_node_validation_fails [0.016975s] ... ok {11} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_node_locked [0.028821s] ... ok {11} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_worker_pool_full [0.161453s] ... ok {11} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify [0.193625s] ... ok {11} ironic.tests.unit.conductor.test_manager.DoNodeVerifyTestCase.test__do_node_verify_get_state_fails [0.155659s] ... ok {11} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_automated_clean [0.143222s] ... ok {11} ironic.tests.unit.conductor.test_manager.DoProvisioningActionTestCase.test_do_provision_action_abort_manual_clean [0.138337s] ... ok {11} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes_release_node_not_locked [0.175690s] ... ok {11} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_not_mapped [0.015029s] ... ok {11} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_power_transition_on_acquire [0.016689s] ... ok {11} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_template_fail [0.057178s] ... ok {11} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_field_with_broken_interface [0.026704s] ... ok {11} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_protected_invalid_state [0.020123s] ... ok {11} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_association_with_ports [0.148320s] ... ok {11} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_to_node_in_active_state_and_maintenance [0.145975s] ... ok {11} ironic.tests.unit.conductor.test_manager.VifTestCase.test_vif_attach_raises_portgroup_physnet_inconsistent [0.043539s] ... ok {11} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_can_send_rescue_true [0.009924s] ... ok {11} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic [0.012472s] ... ok {11} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_random_topic_no_conductors [0.010663s] ... ok {11} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action_invalid_version [0.009558s] ... ok {11} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_vif_detach [0.011129s] ... ok {11} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_no_steps [0.042751s] ... ok {11} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_duplicate_user_steps [0.047353s] ... ok {11} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test_set_node_deployment_steps_skip_missing [0.056110s] ... ok {11} ironic.tests.unit.conductor.test_task_manager.ProvisionNotifyTestCase.test_notify_stable_to_stable [0.007293s] ... ok {11} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_get_ports_exception [0.018178s] ... ok {11} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_spawn_rescue_error_handler_other_error [0.013631s] ... ok {11} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_power_on_node_if_needed_with_smart_nic_port [0.051993s] ... ok {11} ironic.tests.unit.conductor.test_utils.MiscTestCase.test_restore_power_state_if_needed_true [0.044908s] ... ok {11} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off_pregenerated_token [0.066044s] ... ok {11} ironic.tests.unit.conductor.test_utils.StoreAgentCertificateTestCase.test_no_change [0.014710s] ... ok {11} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_missing [0.006058s] ... ok {11} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_1 [0.050821s] ... ok {11} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_create_3 [0.055339s] ... ok {11} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_empty_portgroup_update_2 [0.048308s] ... ok {11} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_id_that_does_not_exist [0.025346s] ... ok {11} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name_that_does_not_exist [0.026578s] ... ok {11} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_success [0.025043s] ... ok {11} ironic.tests.unit.db.test_api.UpdateToLatestVersionsTestCase.test_old_version_max_count_2_some_nodes [0.196595s] ... ok {11} ironic.tests.unit.db.test_api.UpgradingTestCase.test_check_versions_ignore_node [0.157421s] ... ok {11} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_create_chassis_already_exists [0.012928s] ... ok {11} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_active_hardware_type_dict_many_host_many_ht [0.027728s] ... ok {11} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_set_node_tags [0.022611s] ... ok {11} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_add_node_trait [0.020355s] ... ok {11} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_delete_node_trait_not_found [0.018151s] ... ok {11} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_unset_node_traits_node_not_exist [0.016630s] ... ok {11} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_check_node_list [0.020685s] ... ok {11} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_reservation_of_reserved_node_fails [0.028597s] ... ok {11} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_with_traits [0.027593s] ... ok {11} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_get_portgroups_by_node_id_that_does_not_exist [0.019750s] ... ok {11} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_owner_no_match [0.019931s] ... ok {11} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_list [0.025555s] ... ok {11} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_node_id_filter_by_node_owner_no_match [0.022721s] ... ok {11} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connector_list_sorted [0.022933s] ... ok {11} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_get_volume_target_by_uuid [0.017830s] ... ok {11} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_properties [0.014974s] ... ok {11} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__calculate_memory_req [0.046638s] ... ok {11} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_ansible_driver_info [0.015364s] ... ok {11} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__parse_root_device_hints_fail_advanced [0.056308s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_commit_config_with_reboot [0.058278s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_deploy [0.069337s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info [0.015990s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_password [0.016283s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_cpu [0.050828s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__is_boot_order_flexibly_programmable [0.017589s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_off [0.052704s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_while_powered_on [0.049446s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test_list_raid_settings [0.016788s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_fails_with_sharing_disabled [0.071160s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_in_deploy [0.097279s] ... ok {11} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_no_change [0.083190s] ... ok {11} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_supported_boot_devices [0.045453s] ... ok {11} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_handle_ibmc_exception_retry [4.050125s] ... ok {11} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_missing_info [0.015849s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_factory_reset_deploying [0.071385s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_iloobj_failed_deploying [0.045078s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__parse_deploy_info [0.014858s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_driver_info [0.045806s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_ramdisk_in_deploying [0.061129s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_image_local [0.057172s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.052776s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_cleanup_vmedia_boot_exc_resource_not_found [0.059745s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_current_boot_mode_fail [0.015476s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_get_secure_boot_mode_fail [0.047413s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_raises_ilo_error [0.049167s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_verify_image_checksum_throws_for_nonexistent_file [0.015300s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_multiple_params [0.014698s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_swift_based_me [0.021338s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__remove_webserver_based_me [0.024893s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components_fails [0.015549s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_activate_license_no_or_invalid_format_license_key [0.054163s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_next_boot [0.049699s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_fail [0.052351s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_set_boot_device_invalid_device [0.047522s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_invalid_update_mode_provided_clean [0.056418s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_update_firmware_sum_mode_with_component [0.049130s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_swift_url_clean [0.055888s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_write_firmware_sum_mode_without_component_deploy [0.051614s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_off_fail [2.043725s] ... 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': '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-5ac31de9-ee5e-4a33-b97c-cc856e2af816 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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, "lessee": null, "description": null, "allocation_uuid": null, "retired": false, "retired_reason": null, "network_data": {}, "updated_at": null, "created_at": "2021-01-19T06:02:24.604325+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, 'lessee': None, 'description': None, 'allocation_uuid': None, 'retired': False, 'retired_reason': None, 'network_data': {}, 'updated_at': None, 'created_at': '2021-01-19T06:02:24.604325+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-9637e6c1-6245-469a-a31d-e3acd8b8d8d5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:24.674946+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': '2021-01-19T06:02:24.674946+00:00'}{14} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_valid_properties [2.723816s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_get [0.046030s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_vendor_passthru_put [0.042031s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_invalid_timeout_no_ver [0.044554s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_node_in_maintenance_fail [0.071228s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_in_allowed_states [0.161235s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_console_by_name [0.047045s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_delete_all_traits_fails_with_bad_version [0.031562s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_set_all_traits_with_chassis [0.062469s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_notification_utils.APINotifyTestCase.test_notification_uuid_unset [0.007288s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_byid [0.047803s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_port.TestDelete.test_delete_port_node_locked [0.048831s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_detail [0.047550s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_get_one_portgroup_is_none [0.046974s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_advanced_net [0.072155s] ... ok GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-db447b67-21f6-4daa-a8b6-2c54924c0d76 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/provision {'target': 'rescue', 'rescue_password': 'password'} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-dd4894bc-8971-4f0e-a6bd-0c2501bb7de8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-38f256d0-034c-4246-bf0a-cdcb96da739c X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-b38b8670-060f-4bcc-98ea-38516096a380 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-3ed43e48-9a1f-41af-92e9-f81cc2c1668a X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/node-39/states/console {'enabled': 'true'} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-fd5c5f5d-ab01-4e30-bf18-f0df3ca2e0e1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/management/indicators/led@system {'state': 'on'} GOT:Response: 204 No Content Openstack-Request-Id: req-77bbf90d-9087-4b15-849b-96c02235b17d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} GOT:Response: 204 No Content Openstack-Request-Id: req-acc13f91-0698-4642-bc9e-52cf63f89d25 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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\": \"\"}"} GET: /v1/ports/?limit=3 {} GOT:{'ports': [{'uuid': 'b8c4cf2e-d599-4cee-8b3e-7fe03cc63d3a', 'address': '52:54:00:cf:2d:30', 'links': [{'href': 'http://localhost/v1/ports/b8c4cf2e-d599-4cee-8b3e-7fe03cc63d3a', 'rel': 'self'}, {'href': 'http://localhost/ports/b8c4cf2e-d599-4cee-8b3e-7fe03cc63d3a', 'rel': 'bookmark'}]}, {'uuid': '803ff309-caf6-48e9-bec3-f2da5a25e7ad', 'address': '52:54:00:cf:2d:31', 'links': [{'href': 'http://localhost/v1/ports/803ff309-caf6-48e9-bec3-f2da5a25e7ad', 'rel': 'self'}, {'href': 'http://localhost/ports/803ff309-caf6-48e9-bec3-f2da5a25e7ad', 'rel': 'bookmark'}]}, {'uuid': '7c9a35bd-82ee-4037-a29d-0b7988f34773', 'address': '52:54:00:cf:2d:32', 'links': [{'href': 'http://localhost/v1/ports/7c9a35bd-82ee-4037-a29d-0b7988f34773', 'rel': 'self'}, {'href': 'http://localhost/ports/7c9a35bd-82ee-4037-a29d-0b7988f34773', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/ports?sort_key=id&sort_dir=asc&fields=uuid,address&limit=3&marker=7c9a35bd-82ee-4037-a29d-0b7988f34773'} GET: /v1/ports {} GOT:{'ports': []} 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-28591243-6053-418e-92fe-fdcd79166a8a X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/2406ed0b-e678-4cb9-8349-d31ce587d173 {} GOT:{'uuid': '2406ed0b-e678-4cb9-8349-d31ce587d173', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://foo/v1/ports/2406ed0b-e678-4cb9-8349-d31ce587d173', 'rel': 'self'}, {'href': 'http://foo/ports/2406ed0b-e678-4cb9-8349-d31ce587d173', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:30.639255+00:00', 'updated_at': None} GET: /v1/ports/2406ed0b-e678-4cb9-8349-d31ce587d173 {} GOT:{'uuid': '2406ed0b-e678-4cb9-8349-d31ce587d173', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://foo/v1/ports/2406ed0b-e678-4cb9-8349-d31ce587d173', 'rel': 'self'}, {'href': 'http://foo/ports/2406ed0b-e678-4cb9-8349-d31ce587d173', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:30.639255+00:00', 'updated_at': None} GET: /ports/2406ed0b-e678-4cb9-8349-d31ce587d173 {} GOT:{'uuid': '2406ed0b-e678-4cb9-8349-d31ce587d173', 'address': '52:54:00:cf:2d:31', 'extra': {}, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://foo/v1/ports/2406ed0b-e678-4cb9-8349-d31ce587d173', 'rel': 'self'}, {'href': 'http://foo/ports/2406ed0b-e678-4cb9-8349-d31ce587d173', 'rel': 'bookmark'}], 'created_at': '2021-01-19T06:02:30.639255+00:00', 'updated_at': None} 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.\"}"} 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-25e68576-5ad4-44f6-adc8-da6b3384065b X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:30.760083+00:00", "updated_at": "2021-01-19T06:02:30.795054+00:00"} PATCH: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/address', 'value': 'aa:bb:cc:dd:ee:ff', 'op': 'add'}]{19} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_root [2.429135s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_invalid_physnet_non_text [0.043846s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_multi [0.063431s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_physnet_allow [0.008711s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic_old_api_version [0.043328s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_portgroups_subresource_post [0.048413s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail_query [0.044348s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_get_one_with_suffix [0.043908s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_node_id [0.040057s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_add_root_non_existent [0.036163s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_portgroup_standalone_ports_supported_bad_api_version [0.026567s] ... ok GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2e341431-3718-400f-8d55-9f78ceef0301 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:30.821847+00:00", "updated_at": "2021-01-19T06:02:33.225405+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-b2f0415a-8467-42db-ab61-7b9619ba77f0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute physical_network. Value: '1234'. Value should be string\", \"debuginfo\": null}"} 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-500f3877-369e-4ab9-bb50-4a69beba39f6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:34.932229+00:00", "updated_at": "2021-01-19T06:02:34.966955+00:00"} 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-8f32443e-35ab-448d-a1d2-7d51603c02cc X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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-d3239215-7596-4f44-8ac4-9af8a90744f8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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': '2021-01-19T06:02:35.098093+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': '2021-01-19T06:02:35.143132+00:00', 'updated_at': None} 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-cade47fe-1e5e-466e-96e7-c5c5cd86378d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': '/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-84c24eaf-b94d-4530-a39a-63197e1ea954 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': '/standalone_ports_supported', 'value': False, 'op': 'replace'}] GOT:Response: 404 Not Found Content-Type: application/json {"error_message": "{\"code\": 404, \"title\": \"Not Found\", \"description\": \"\"}"} 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-b58fe0ab-be0a-4296-807a-958a408bd0ba X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:35.310095+00:00", "updated_at": null} POST: /v1/portgroups {'uuid': '7e6992e1-66e1-410b-8365-c1a682f0c3b5', 'name': '27a37861-a546-46f2-a710-1320480390d3', 'address': 'AA:AA:AA:11:22:33', 'extra': {}, 'standalone_ports_supported': True, 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123'}{19} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_address_already_exist [3.096403s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_types.TestBooleanType.test_valid_false_values [0.006764s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_type_empty_value [0.006356s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_inject_nmi [0.006195s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_driver_detail_none [0.006311s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_inspect_verbs_fail [0.006130s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allowed_fields_resource_class_fail [0.013653s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_get_rpc_node_expect_name [0.008014s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_name [0.010112s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_utils.TestPortgroupIdent.test_get_rpc_portgroup_uuid [0.006923s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_check_policy_forbidden [0.007399s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_all_by_node_name_ok [0.067751s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_false [0.049481s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_get_one [0.048265s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_sort_key_invalid [0.062867s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_remove_non_existent_property_fail [0.039784s] ... ok {19} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_invalid_power_state [0.050774s] ... ok {19} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_enable_audit_request_error [0.017419s] ... ok {19} ironic.tests.unit.api.test_functions.TestFunctionDefinition.test_set_arg_types [0.007044s] ... ok {19} ironic.tests.unit.api.test_proxy_middleware.TestProxyHeadersMiddleware.test_proxy_headers_disabled [0.020640s] ... ok {19} ironic.tests.unit.api.test_root.TestRoot.test_get_root [0.020876s] ... ok {19} ironic.tests.unit.api.test_root.TestV1Root.test_get_v1_22_root [0.024262s] ... ok {19} ironic.tests.unit.api.test_types.TestTypes.test_nested [0.008323s] ... ok {19} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions [0.012411s] ... ok {19} ironic.tests.unit.common.test_cinder.TestCinderSession.test__get_cinder_session [0.007799s] ... ok {19} ironic.tests.unit.common.test_cinder.TestCinderUtils.test__get_attachment_id [0.014163s] ... ok {19} ironic.tests.unit.common.test_context.RequestContextTestCase.test_from_dict [0.005850s] ... ok {19} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_from_config [0.015781s] ... ok {19} ironic.tests.unit.common.test_driver_factory.DriverLoadTestCase.test_wrap_in_driver_load_error_if_driver_enabled [0.010170s] ... ok {19} ironic.tests.unit.common.test_hash_ring.HashRingManagerTestCase.test_hash_ring_manager_reset_interval [0.025378s] ... ok {19} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_show [0.009271s] ... ok {19} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_connect_error [0.007568s] ... ok {19} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_validate_href_verify_true_error [0.007758s] ... ok {19} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_http_image_service [0.008097s] ... ok {19} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_boot_iso_for_uefi_deploy_iso_for_hrefs [0.011520s] ... ok {19} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_for_bios [0.013970s] ... ok {19} ironic.tests.unit.common.test_images.FsImageTestCase.test_get_glance_image_properties_default_all [0.007361s] ... ok {19} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_is_whole_disk_image_no_img_src [1.986803s] ... ok {19} ironic.tests.unit.common.test_json_rpc.TestClient.test_cast_failure [0.011173s] ... ok {19} ironic.tests.unit.common.test_network.GetPhysnetsForNodeTestCase.test_get_physnets_for_node_no_ports [0.045986s] ... ok {19} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_during_provisioning [0.047925s] ... ok {19} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_extra [0.046425s] ... ok {19} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_portgroups_extra [0.051422s] ... ok {19} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_two_ports_extra [0.048490s] ... ok {19} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_neutron_interface_with_client_id [0.039915s] ... ok {19} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_wait_for_host_agent_down_target_state_up [0.026786s] ... ok {19} ironic.tests.unit.common.test_neutron.TestUpdatePortAddress.test_update_port_address_show_failed [0.008251s] ... ok {19} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_node_create [0.010516s] ... ok {19} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test__get_deploy_image_info_ipxe [0.015291s] ... ok {19} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info_boot_iso [0.048477s] ... ok {19} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_with_master_path [0.009727s] ... ok {19} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_pxe_config_file_path [0.013612s] ... ok {19} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_get_tftp_path_prefix_without_trailing_slash [0.013408s] ... ok {19} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_and_iscsi_boot_from_lists [0.066689s] ... ok {19} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_update_raid_info_skip_MAX [0.037213s] ... ok {19} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_custom_schema [1.125811s] ... ok {19} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay [0.007958s] ... ok {19} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_okay_software [0.007384s] ... ok {19} ironic.tests.unit.common.test_rpc.TestUtils.test_get_versioned_notifier_no_publisher_id [0.005387s] ... ok {19} ironic.tests.unit.common.test_rpc.TestUtils.test_init_globals_notifications_disabled [0.034147s] ... ok {19} ironic.tests.unit.common.test_utils.BareMetalUtilsTestCase.test_create_link_EEXIST [0.007963s] ... ok {19} ironic.tests.unit.common.test_utils.GetUpdatedCapabilitiesTestCase.test_get_updated_capabilities_multiple_keys [0.006042s] ... ok {19} ironic.tests.unit.common.test_utils.TempFilesTestCase.test__check_dir_free_space_ok [0.006916s] ... ok {19} ironic.tests.unit.common.test_wsgi_service.TestWSGIService.test_workers_set_zero_setting [0.024854s] ... ok {19} ironic.tests.unit.conductor.test_allocations.BackfillAllocationTestCase.test_with_associated_node [0.059118s] ... ok {19} ironic.tests.unit.conductor.test_allocations.DoAllocateTestCase.test_nodes_filtered_out [0.041856s] ... ok {19} ironic.tests.unit.conductor.test_base_manager.StartConsolesTestCase.test__start_consoles_node_locked [0.160981s] ... ok {19} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_fails_on_no_enabled_interfaces [0.009501s] ... ok {19} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_fail_in_tear_down_cleaning [0.331646s] ... ok {19} ironic.tests.unit.conductor.test_deployments.StoreConfigDriveTestCase.test_store_configdrive_swift [0.042522s] ... ok {19} ironic.tests.unit.conductor.test_manager.BootDeviceTestCase.test_set_boot_device_node_locked [0.028613s] ... ok {19} ironic.tests.unit.conductor.test_manager.CheckTimeoutsTestCase.test_check_rescuewait_timeouts [0.177613s] ... ok {19} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_deprecated [0.137907s] ... ok {19} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node_console_enabled [0.170379s] ... ok {19} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test__do_adoption_boot_validate_failure [0.160200s] ... ok {19} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_manual [0.148510s] ... ok {19} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_continue_node_clean_polling [0.163841s] ... ok {19} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_invalid_state [0.135064s] ... ok {19} ironic.tests.unit.conductor.test_manager.ManagerCheckOrphanNodesTestCase.test__check_orphan_nodes [0.165652s] ... ok {19} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_not_implemented [0.043169s] ... ok {19} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits_node_trait_not_found [0.051320s] ... ok {19} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test__filter_out_unsupported_types_non [0.112159s] ... ok {19} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_power_validate_fail [0.055978s] ... ok {19} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_action_on_object [0.009195s] ... ok {19} ironic.tests.unit.conductor.test_manager.TestIndirectionApiConductor.test_object_backport_versions [0.008516s] ... ok {19} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_physnet_node_deleting_state [0.049587s] ... ok {19} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_destroy_volume_connector [0.012549s] ... ok {19} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_indicator_state [0.011815s] ... ok {19} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_action [0.011929s] ... ok {19} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_object_class_action_versions_invalid_version [0.010325s] ... ok {19} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_node [0.012003s] ... ok {19} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_volume_target [0.012516s] ... ok {19} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_invalid_parameter_value [0.047986s] ... ok {19} ironic.tests.unit.conductor.test_steps.NodeCleaningStepsTestCase.test__validate_user_clean_steps_not_supported [0.049229s] ... ok {19} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_override_driver_steps [0.050586s] ... ok {19} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps [0.046911s] ... ok {19} ironic.tests.unit.conductor.test_steps.ValidateDeployTemplatesTestCase.test_skip_missing [0.044624s] ... ok {19} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_excl_lock_task_first_arg [0.006346s] ... ok {19} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock [0.022492s] ... ok {19} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_exists [0.006593s] ... ok {19} ironic.tests.unit.conductor.test_utils.AgentTokenUtilsTestCase.test_wipe_deploy_internal_info [0.006018s] ... ok {19} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_cleanup_after_timeout_shared_lock [0.006242s] ... ok {19} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout [0.006450s] ... ok {19} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps [0.042813s] ... ok {19} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_power_off [0.064778s] ... ok {19} ironic.tests.unit.conductor.test_utils.NodeSetBootDeviceTestCase.test_node_set_boot_device_non_existent_device [0.041980s] ... ok {19} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_3 [0.047459s] ... ok {19} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_1_port_portgroup_w_physnet_update_add_3 [0.051175s] ... ok {19} ironic.tests.unit.conductor.test_utils.ValidatePortPhysnetTestCase.test_validate_port_physnet_2_port_portgroup_w_physnet_update_3 [0.047960s] ... ok {19} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsMySQL.test_upgrade_and_version ... SKIPPED: Backend 'mysql+pymysql' is unavailable: Could not connect {19} ironic.tests.unit.db.sqlalchemy.test_migrations.TestMigrationsPostgreSQL.test_upgrade_twice ... SKIPPED: Backend 'postgresql' is unavailable: Could not connect {19} ironic.tests.unit.db.sqlalchemy.test_migrations.TestWalkVersions.test_walk_versions_all_false [0.036012s] ... ok {19} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_get_conductor [0.013500s] ... ok {19} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_create_no_steps [0.012177s] ... ok {19} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_update_steps_replace [0.016371s] ... ok {19} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_by_node_id [0.021215s] ... ok {19} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_already_exists [0.015470s] ... ok {19} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_name [0.039375s] ... ok {19} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_by_port_addresses [0.041871s] ... ok {19} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_node_list_description [0.028301s] ... ok {19} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_get_nodeinfo_list_with_filters [0.042731s] ... ok {19} ironic.tests.unit.db.test_portgroups.DbportgroupTestCase.test_update_portgroup [0.019032s] ... ok {19} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project_no_match [0.019812s] ... ok {19} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_filter_by_node_owner [0.023458s] ... ok {19} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_ports_by_portgroup_id_that_does_not_exist [0.019779s] ... ok {19} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_destroy_volume_target [0.020257s] ... ok {19} ironic.tests.unit.db.test_volume_targets.DbVolumeTargetTestCase.test_update_volume_target_fails_invalid_id [0.017773s] ... ok {19} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test_get_ip_addresses [0.051185s] ... ok {19} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step [0.054863s] ... ok {19} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_get_clean_steps [0.049690s] ... ok {19} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_tear_down [0.048612s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_factory_reset_commit_fail [0.049755s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_cd [0.053281s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_boot.DracBootTestCase.test__set_boot_device_failover [0.052844s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_with_empty_list [0.045524s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_bios [0.017424s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_reboot_retries_fail [0.054732s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_power.DracPowerTestCase.test_set_power_state_timeout [0.044992s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_apply_configuration [0.049519s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_multiple_max_and_sharing_same_disks [0.062415s] ... ok {19} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_nested_raid_level [0.081982s] ... ok {19} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerTestCase.test_set_power_state [0.054672s] ... ok {19} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_invalid_string_value_verify_ca [0.015469s] ... ok {19} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_path_verify_ca [0.018120s] ... ok {19} ironic.tests.unit.drivers.modules.ibmc.test_utils.IBMCUtilsTestCase.test_parse_driver_info_valid_capath [0.017236s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__get_boot_iso_http_url [0.064135s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test__validate_hrefs_https_image [0.047750s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_instance_whole_disk_image [0.057982s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.079835s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_boot_ramdisk [0.061736s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_instance_partition_image [0.057327s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_boot.IloiPXEBootTestCase.test_prepare_ramdisk_in_rescuing [0.051704s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_secure_boot_mode_not_supported [0.041004s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_invalid_cafile [0.013505s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_missing_multiple_params [0.012031s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_integer_auth_protocol [0.012559s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_clear_iscsi_boot_target_in_bios [0.047249s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_validate [0.044635s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_create_configuration_skip_non_root_cleaning [0.061255s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_cleaning [0.052852s] ... ok {19} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_cleaning [0.073653s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__setup_vmedia_with_file_rescue [0.046999s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_sloppy_false [0.344981s] ... ok GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/vendor_passthru/do_test {} GOT:foo 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-1b11dd87-5a65-47d1-8d48-6ae83d980d5e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 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-33ebaaa1-251c-4e77-9e35-43515912e606 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/provision {'target': 'active'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-0eeed15d-a833-4b6c-8b29-d9e2bf929506 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-c5bd46d3-52be-4387-af21-cb1d14a22695 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-11fcd03f-2171-492b-bfd7-71c38f97f04b X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-057fac1e-7039-4648-af4a-7eca4af708e8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-16b299b6-2535-409a-842c-e4cdbce9ddd8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.38 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-7a799171-3a96-4e35-8c64-c5ad24750da5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.5 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\": \"\"}"} PUT: /v1/nodes/node-39/traits {'traits': ['CUSTOM_3']} GOT:Response: 204 No Content Openstack-Request-Id: req-6d31d83a-c3fa-4a49-b991-8471bd44f4ed X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.37 DELETE: /v1/ports/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 GOT:Response: 204 No Content Openstack-Request-Id: req-90d81bcf-f4a0-40ec-8197-e0dbabe3b275 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-dbcd8379-7169-42af-81d3-11c1788383f5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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': '2021-01-19T06:02:29.911410+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': '2021-01-19T06:02:29.955911+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': '2021-01-19T06:02:30.003248+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': '2021-01-19T06:02:30.003248+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': '2021-01-19T06:02:30.075128+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': '2021-01-19T06:02:30.075128+00:00', 'updated_at': None}{14} ironic.tests.unit.api.controllers.v1.test_port.TestListPorts.test_hide_fields_in_newer_versions_is_smartnic [1.798067s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_extra_vif_port_id_deprecated [0.061545s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_add_node_id [0.044580s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_non_existent_node_uuid [0.050153s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_replace_portgroup_uuid_old_api [0.046246s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_address_invalid_format [0.045009s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_update_pxe_enabled_allowed [0.062278s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_nopxe_noportgroup [0.054197s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_vif_pxe_portgroup_standalone_ports [0.062440s] ... ok PATCH: /v1/ports/12b573da-3878-4b9f-a613-d998c610a23c [{'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-6070e177-8de2-4168-9ccb-6f630d317213 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.34 {"uuid": "12b573da-3878-4b9f-a613-d998c610a23c", "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/12b573da-3878-4b9f-a613-d998c610a23c", "rel": "self"}, {"href": "http://localhost/ports/12b573da-3878-4b9f-a613-d998c610a23c", "rel": "bookmark"}], "created_at": "2021-01-19T06:02:34.036700+00:00", "updated_at": "2021-01-19T06:02:34.067947+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-88fda0ed-0565-49d5-a34c-2ce9191bd9ce X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-a4c9382b-ad76-4afc-bfe2-ee3243876236 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '/portgroup_uuid', 'value': '4a4fc2ca-fc25-4b2e-a4b2-9f008c8d01d8', 'op': 'replace'}] GOT:Response: 406 Not Acceptable Content-Type: application/json Openstack-Request-Id: req-8413d991-c300-47bc-af8a-810b161a9e4a X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '/address', 'value': 'invalid-format', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-00317548-bea7-403c-88f1-d68b8325ab1f X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/1be26c0b-03f2-4d2e-ae87-c02d7f33c781 [{'path': '/pxe_enabled', 'value': True, 'op': 'replace'}] GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-2810fbcd-4b6e-4ea3-9825-4a029ed62e16 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:34.281063+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': 'e3ee8ebc-c6e4-41d0-952b-5e289486edeb'}, '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-e57a0b5d-f0df-4f5d-8ea5-1913df74d597 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {"vif_port_id": "e3ee8ebc-c6e4-41d0-952b-5e289486edeb"}, "internal_info": {"tenant_vif_port_id": "e3ee8ebc-c6e4-41d0-952b-5e289486edeb"}, "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": "2021-01-19T06:02:34.371939+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': '27e8895b-99cd-4e75-bf34-ffacef6a9012'}, '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-0255ac83-f23b-4f22-b6a6-dfaf32939a62 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"uuid": "1be26c0b-03f2-4d2e-ae87-c02d7f33c781", "address": "52:54:00:cf:2d:31", "extra": {"vif_port_id": "27e8895b-99cd-4e75-bf34-ffacef6a9012"}, "internal_info": {"tenant_vif_port_id": "27e8895b-99cd-4e75-bf34-ffacef6a9012"}, "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": "2021-01-19T06:02:34.432408+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-8d191d45-2261-4d55-80d6-8c8d2e7f2b78 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:34.492369+00:00", "updated_at": null}{14} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_is_smartnic [3.514282s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_detail [0.044505s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_many [0.073524s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byid_invalid_api_version [0.027145s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_not_found [0.036240s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatchExtraVifPortId.test_add_extra_vif_port_id_deprecated [0.061191s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPortgroupObject.test_portgroup_init [0.006162s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_valid_extra [0.065492s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_with_hyphens_delimiter [0.031114s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_ramdisk.TestLookup.test_restrict_lookup [0.041242s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_cannot_replace_with_no_value [0.024372s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_invalid_op [0.027353s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_mandatory_attr [0.023260s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_net_type_invalid [0.006128s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_types.TestVifType.test_vif_type_missing_mandatory_key [0.006433s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_utils.TestApiUtils.test_apply_jsonpatch_no_add_root_attr [0.005842s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs_fail [0.006486s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortListPolicy.test_check_port_list_policy_non_admin [0.007967s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_driver_vendor_passthru_sync [0.152011s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_utils.TestVendorPassthru.test_vendor_passthru_attach [0.006607s] ... ok 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': '2021-01-19T06:02:40.292386+00:00', 'updated_at': None}]} GET: /v1/portgroups {} GOT:{'portgroups': [{'uuid': 'c09b3576-2683-43dd-b5a9-adba85f9ae4f', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/c09b3576-2683-43dd-b5a9-adba85f9ae4f', 'rel': 'self'}, {'href': 'http://localhost/portgroups/c09b3576-2683-43dd-b5a9-adba85f9ae4f', 'rel': 'bookmark'}]}, {'uuid': '460cbf83-fa7e-4cc8-97d5-f57dd858792f', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/460cbf83-fa7e-4cc8-97d5-f57dd858792f', 'rel': 'self'}, {'href': 'http://localhost/portgroups/460cbf83-fa7e-4cc8-97d5-f57dd858792f', 'rel': 'bookmark'}]}, {'uuid': '7e11779a-de14-4b63-8ff5-ba3ae4dc78a1', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/7e11779a-de14-4b63-8ff5-ba3ae4dc78a1', 'rel': 'self'}, {'href': 'http://localhost/portgroups/7e11779a-de14-4b63-8ff5-ba3ae4dc78a1', 'rel': 'bookmark'}]}, {'uuid': 'b8784136-d61b-4eda-a731-bbc55f702171', 'address': '52:54:00:cf:2d:33', 'name': 'portgroup3', 'links': [{'href': 'http://localhost/v1/portgroups/b8784136-d61b-4eda-a731-bbc55f702171', 'rel': 'self'}, {'href': 'http://localhost/portgroups/b8784136-d61b-4eda-a731-bbc55f702171', 'rel': 'bookmark'}]}, {'uuid': '8f7cd22b-9705-4bfc-afaf-bc88745b7154', 'address': '52:54:00:cf:2d:34', 'name': 'portgroup4', 'links': [{'href': 'http://localhost/v1/portgroups/8f7cd22b-9705-4bfc-afaf-bc88745b7154', 'rel': 'self'}, {'href': 'http://localhost/portgroups/8f7cd22b-9705-4bfc-afaf-bc88745b7154', 'rel': 'bookmark'}]}]} 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/0f5e91d8-8c00-4ea5-9d6b-772c1bfc8f67 [{'path': '/extra/foo', 'value': 'bar', 'op': 'add'}] GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-4e4f9984-6574-4873-9b66-5cc0c3a802b1 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Portgroup 0f5e91d8-8c00-4ea5-9d6b-772c1bfc8f67 could not be found.\", \"debuginfo\": null}"} 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-398bfd0f-99fb-4c86-90cc-22ec00618d27 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:40.473842+00:00", "updated_at": "2021-01-19T06:02:40.508894+00:00"} 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-5f91a25c-b781-47ff-9081-c12e862faf25 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:40.560990+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': '2021-01-19T06:02:40.560990+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: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4f5d3652-c14b-4763-a36f-73a3571f25ae X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a MAC address but received 52-54-00-cf-2d-31.\", \"debuginfo\": null}"} GET: /v1/lookup?addresses=11:22:33:44:55:66,66:55:44:33:22:11&node_uuid=ce65f528-ae9f-4bee-b4c3-7cc6db3bc7f3 {} GOT:Response: 404 Not Found Content-Type: application/json Openstack-Request-Id: req-7606031d-8339-4a93-bbad-81a074481d67 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Resource could not be found.\", \"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': '2021-01-19T06:02:40.950503+00:00', 'updated_at': None}]}{14} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_detail_by_node_name_ok [3.606004s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_uuid [0.035917s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_node_uuid_invalid_type [0.037085s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector [0.067575s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPost.test_create_volume_connector_invalid_node_uuid_format [0.032401s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_volume_target.TestListVolumeTargets.test_detail_and_fields [0.035241s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPatch.test_replace_node_uuid_inalid_type [0.037934s] ... ok {14} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_no_mandatory_field_type [0.049476s] ... ok {14} ironic.tests.unit.api.test_acl.TestACL.test_non_admin [0.045433s] ... ok {14} ironic.tests.unit.api.test_acl.TestACL.test_public_api [0.027995s] ... ok {14} ironic.tests.unit.api.test_args.TestArgs.test_combine_args [0.006268s] ... ok {14} ironic.tests.unit.api.test_hooks.TestContextHook.test_context_hook_after_miss_context [0.013104s] ... ok {14} ironic.tests.unit.api.test_hooks.TestNoExceptionTracebackHook.test_hook_exception_success [0.021336s] ... ok {14} ironic.tests.unit.api.test_types.TestTypes.test_base_init [0.007981s] ... ok {14} ironic.tests.unit.api.test_types.TestTypes.test_dict_sample [0.006386s] ... ok {14} ironic.tests.unit.api.test_types.TestTypes.test_flat_type [0.006690s] ... ok {14} ironic.tests.unit.api.test_types.TestTypes.test_validate_integer_type [0.006518s] ... ok {14} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions [0.013198s] ... ok {14} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test__run_migration_functions_two_calls_done [0.013896s] ... ok {14} ironic.tests.unit.cmd.test_dbsync.OnlineMigrationTestCase.test_check_obj_versions_bad [0.013544s] ... ok {14} ironic.tests.unit.common.test_cinder.TestCinderActions.test_attach_volumes_reserve_failure [1.245983s] ... ok {14} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_client_init_failure_bad_request [0.048077s] ... ok {14} ironic.tests.unit.common.test_cinder.TestCinderActions.test_detach_volumes_term_failure [0.250289s] ... ok {14} ironic.tests.unit.common.test_driver_factory.DefaultInterfaceTestCase.test_calculated_with_one [0.009351s] ... ok {14} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_build_driver_for_task_bad_default [0.039022s] ... ok {14} ironic.tests.unit.common.test_driver_factory.HardwareTypeLoadTestCase.test_no_storage_interface [0.013681s] ... ok {14} ironic.tests.unit.common.test_fsm.FSMTest.test_is_stable [0.005757s] ... ok {14} ironic.tests.unit.common.test_image_service.FileImageServiceTestCase.test_download_copy_fail [0.018033s] ... ok {14} ironic.tests.unit.common.test_image_service.ServiceGetterTestCase.test_get_glance_image_service_url [0.006703s] ... ok {14} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_vfat_image_dd_fails [0.006455s] ... ok {14} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_failure_with_foreign_class [0.013655s] ... ok {14} ironic.tests.unit.common.test_json_rpc.TestClient.test_mask_secrets [0.008722s] ... ok {14} ironic.tests.unit.common.test_json_rpc.TestService.test_invalid_requests [0.019636s] ... ok {14} ironic.tests.unit.common.test_json_rpc.TestService.test_no_context [0.017198s] ... ok {14} ironic.tests.unit.common.test_network.TestNetwork.test_get_node_vif_ids_one_portgroup_int_info [0.046335s] ... ok {14} ironic.tests.unit.common.test_neutron.TestGetNetworkByUUIDOrName.test__get_network_by_uuid_or_name_name [0.006534s] ... ok {14} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_network_failure [0.007651s] ... ok {14} ironic.tests.unit.common.test_neutron.TestGetPhysnetsByPortUUID.test_get_physnets_by_port_uuid_port_missing [0.007529s] ... ok {14} ironic.tests.unit.common.test_neutron.TestNeutronClient.test_get_neutron_client_without_token [0.617211s] ... ok {14} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_validate_port_info_flat_interface_with_client_id [0.038161s] ... ok {14} ironic.tests.unit.common.test_neutron.TestValidateNetwork.test_by_name [0.007525s] ... ok {14} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_node_get [0.011309s] ... ok {14} ironic.tests.unit.common.test_pxe_utils.PXEBuildConfigOptionsTestCase.test_build_pxe_config_options_pxe_rescue [0.056256s] ... ok {14} ironic.tests.unit.common.test_pxe_utils.TFTPImageCacheTestCase.test_without_master_path [0.009329s] ... ok {14} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__get_pxe_mac_path [0.013285s] ... ok {14} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_already_exists [0.014618s] ... ok {14} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_pxe_config_uefi_ipxe [0.046678s] ... ok {14} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_default_ipxe_boot_from_volume_config [0.031302s] ... ok {14} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_rescue_timeout [0.060861s] ... ok {14} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_file_has_content_equal_not_binary [0.008349s] ... ok {14} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_start_dbapi_single_call [0.083174s] ... ok {14} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_last_step_noop_fast_track [0.068259s] ... ok {14} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_cache_bios_exception [0.066003s] ... ok {14} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_manual_cache_bios_unsupported [0.074390s] ... ok {14} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test__do_next_deploy_step_in_deploywait [0.179561s] ... ok {14} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_and_user_data_as_dict [0.193613s] ... ok {14} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_configdrive_swift_error [0.182668s] ... ok {14} ironic.tests.unit.conductor.test_deployments.DoNodeDeployTestCase.test__do_node_deploy_ok_2 [0.189878s] ... ok {14} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_node_set_power_state_notif_success [0.385878s] ... ok {14} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_disable_console_already_disabled [0.137362s] ... ok {14} ironic.tests.unit.conductor.test_manager.DoNodeCleanTestCase.test_do_node_clean_power_validate_fail [0.133292s] ... ok {14} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_console_raises_error [0.160747s] ... ok {14} ironic.tests.unit.conductor.test_manager.ManagerCheckInspectWaitTimeoutsTestCase.test__check_inspect_timeouts_acquire_node_locked [0.012159s] ... ok {14} ironic.tests.unit.conductor.test_manager.ManagerDoSyncPowerStateTestCase.test_max_retries_exceeded2 [0.028372s] ... ok {14} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_in_power_transition_on_acquire [0.013042s] ... ok {14} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_inspect_wait [0.138872s] ... ok {14} ironic.tests.unit.conductor.test_manager.RaidHardwareTypeTestCases.test_set_target_raid_config_iface_not_supported [0.046947s] ... ok {14} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_maintenance [0.037933s] ... ok {14} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_from_available_state [0.119885s] ... ok {14} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_rebuild_protected [0.117412s] ... ok 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-868c88e0-b22c-4a42-8047-0e770c4e2291 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': '9837f56f-e379-463b-93a6-94ddc0c3cf3c', '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/9837f56f-e379-463b-93a6-94ddc0c3cf3c Openstack-Request-Id: req-bb9eacc2-4a72-4ed1-905c-3b0cd4780957 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "9837f56f-e379-463b-93a6-94ddc0c3cf3c", "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/9837f56f-e379-463b-93a6-94ddc0c3cf3c", "rel": "self"}, {"href": "http://localhost/nodes/9837f56f-e379-463b-93a6-94ddc0c3cf3c", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/9837f56f-e379-463b-93a6-94ddc0c3cf3c/ports", "rel": "self"}, {"href": "http://localhost/nodes/9837f56f-e379-463b-93a6-94ddc0c3cf3c/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/9837f56f-e379-463b-93a6-94ddc0c3cf3c/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/9837f56f-e379-463b-93a6-94ddc0c3cf3c/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/9837f56f-e379-463b-93a6-94ddc0c3cf3c/volume", "rel": "self"}, {"href": "http://localhost/nodes/9837f56f-e379-463b-93a6-94ddc0c3cf3c/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/9837f56f-e379-463b-93a6-94ddc0c3cf3c/states", "rel": "self"}, {"href": "http://localhost/nodes/9837f56f-e379-463b-93a6-94ddc0c3cf3c/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/9837f56f-e379-463b-93a6-94ddc0c3cf3c {} GOT:{'uuid': '9837f56f-e379-463b-93a6-94ddc0c3cf3c', '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/9837f56f-e379-463b-93a6-94ddc0c3cf3c', 'rel': 'self'}, {'href': 'http://localhost/nodes/9837f56f-e379-463b-93a6-94ddc0c3cf3c', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/9837f56f-e379-463b-93a6-94ddc0c3cf3c/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/9837f56f-e379-463b-93a6-94ddc0c3cf3c/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/9837f56f-e379-463b-93a6-94ddc0c3cf3c/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/9837f56f-e379-463b-93a6-94ddc0c3cf3c/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/9837f56f-e379-463b-93a6-94ddc0c3cf3c/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/9837f56f-e379-463b-93a6-94ddc0c3cf3c/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/9837f56f-e379-463b-93a6-94ddc0c3cf3c/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/9837f56f-e379-463b-93a6-94ddc0c3cf3c/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': 'e305778d-4f40-4687-b5f9-e7d624d9be5b', '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/e305778d-4f40-4687-b5f9-e7d624d9be5b Openstack-Request-Id: req-57d3eb99-f625-4231-aa1f-346ed575b448 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "e305778d-4f40-4687-b5f9-e7d624d9be5b", "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/e305778d-4f40-4687-b5f9-e7d624d9be5b", "rel": "self"}, {"href": "http://localhost/nodes/e305778d-4f40-4687-b5f9-e7d624d9be5b", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/e305778d-4f40-4687-b5f9-e7d624d9be5b/ports", "rel": "self"}, {"href": "http://localhost/nodes/e305778d-4f40-4687-b5f9-e7d624d9be5b/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/e305778d-4f40-4687-b5f9-e7d624d9be5b/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/e305778d-4f40-4687-b5f9-e7d624d9be5b/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/e305778d-4f40-4687-b5f9-e7d624d9be5b/volume", "rel": "self"}, {"href": "http://localhost/nodes/e305778d-4f40-4687-b5f9-e7d624d9be5b/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/e305778d-4f40-4687-b5f9-e7d624d9be5b/states", "rel": "self"}, {"href": "http://localhost/nodes/e305778d-4f40-4687-b5f9-e7d624d9be5b/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/e305778d-4f40-4687-b5f9-e7d624d9be5b {} GOT:{'uuid': 'e305778d-4f40-4687-b5f9-e7d624d9be5b', '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/e305778d-4f40-4687-b5f9-e7d624d9be5b', 'rel': 'self'}, {'href': 'http://localhost/nodes/e305778d-4f40-4687-b5f9-e7d624d9be5b', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/e305778d-4f40-4687-b5f9-e7d624d9be5b/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/e305778d-4f40-4687-b5f9-e7d624d9be5b/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/e305778d-4f40-4687-b5f9-e7d624d9be5b/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/e305778d-4f40-4687-b5f9-e7d624d9be5b/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/e305778d-4f40-4687-b5f9-e7d624d9be5b/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/e305778d-4f40-4687-b5f9-e7d624d9be5b/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/e305778d-4f40-4687-b5f9-e7d624d9be5b/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/e305778d-4f40-4687-b5f9-e7d624d9be5b/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': '3231936c-6f15-42bf-9f2e-47bb3a3de2ef', '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/3231936c-6f15-42bf-9f2e-47bb3a3de2ef Openstack-Request-Id: req-e9e30f62-9fce-45b6-a6d9-76ea8d547c25 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "3231936c-6f15-42bf-9f2e-47bb3a3de2ef", "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/3231936c-6f15-42bf-9f2e-47bb3a3de2ef", "rel": "self"}, {"href": "http://localhost/nodes/3231936c-6f15-42bf-9f2e-47bb3a3de2ef", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/3231936c-6f15-42bf-9f2e-47bb3a3de2ef/ports", "rel": "self"}, {"href": "http://localhost/nodes/3231936c-6f15-42bf-9f2e-47bb3a3de2ef/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/3231936c-6f15-42bf-9f2e-47bb3a3de2ef/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/3231936c-6f15-42bf-9f2e-47bb3a3de2ef/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/3231936c-6f15-42bf-9f2e-47bb3a3de2ef/volume", "rel": "self"}, {"href": "http://localhost/nodes/3231936c-6f15-42bf-9f2e-47bb3a3de2ef/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/3231936c-6f15-42bf-9f2e-47bb3a3de2ef/states", "rel": "self"}, {"href": "http://localhost/nodes/3231936c-6f15-42bf-9f2e-47bb3a3de2ef/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/3231936c-6f15-42bf-9f2e-47bb3a3de2ef {} GOT:{'uuid': '3231936c-6f15-42bf-9f2e-47bb3a3de2ef', '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/3231936c-6f15-42bf-9f2e-47bb3a3de2ef', 'rel': 'self'}, {'href': 'http://localhost/nodes/3231936c-6f15-42bf-9f2e-47bb3a3de2ef', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/3231936c-6f15-42bf-9f2e-47bb3a3de2ef/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/3231936c-6f15-42bf-9f2e-47bb3a3de2ef/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/3231936c-6f15-42bf-9f2e-47bb3a3de2ef/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/3231936c-6f15-42bf-9f2e-47bb3a3de2ef/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/3231936c-6f15-42bf-9f2e-47bb3a3de2ef/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/3231936c-6f15-42bf-9f2e-47bb3a3de2ef/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/3231936c-6f15-42bf-9f2e-47bb3a3de2ef/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/3231936c-6f15-42bf-9f2e-47bb3a3de2ef/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': 'cb1f729f-c409-4067-a211-d5cdd2213438', '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: 201 Created Content-Type: application/json Location: http://localhost/v1/nodes/cb1f729f-c409-4067-a211-d5cdd2213438 Openstack-Request-Id: req-5a621530-a24a-4ae4-abe8-aafff57787df X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "cb1f729f-c409-4067-a211-d5cdd2213438", "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/cb1f729f-c409-4067-a211-d5cdd2213438", "rel": "self"}, {"href": "http://localhost/nodes/cb1f729f-c409-4067-a211-d5cdd2213438", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/cb1f729f-c409-4067-a211-d5cdd2213438/ports", "rel": "self"}, {"href": "http://localhost/nodes/cb1f729f-c409-4067-a211-d5cdd2213438/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/cb1f729f-c409-4067-a211-d5cdd2213438/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/cb1f729f-c409-4067-a211-d5cdd2213438/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/cb1f729f-c409-4067-a211-d5cdd2213438/volume", "rel": "self"}, {"href": "http://localhost/nodes/cb1f729f-c409-4067-a211-d5cdd2213438/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/cb1f729f-c409-4067-a211-d5cdd2213438/states", "rel": "self"}, {"href": "http://localhost/nodes/cb1f729f-c409-4067-a211-d5cdd2213438/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/cb1f729f-c409-4067-a211-d5cdd2213438 {} GOT:{'uuid': 'cb1f729f-c409-4067-a211-d5cdd2213438', '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/cb1f729f-c409-4067-a211-d5cdd2213438', 'rel': 'self'}, {'href': 'http://localhost/nodes/cb1f729f-c409-4067-a211-d5cdd2213438', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/cb1f729f-c409-4067-a211-d5cdd2213438/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/cb1f729f-c409-4067-a211-d5cdd2213438/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/cb1f729f-c409-4067-a211-d5cdd2213438/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/cb1f729f-c409-4067-a211-d5cdd2213438/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/cb1f729f-c409-4067-a211-d5cdd2213438/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/cb1f729f-c409-4067-a211-d5cdd2213438/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/cb1f729f-c409-4067-a211-d5cdd2213438/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/cb1f729f-c409-4067-a211-d5cdd2213438/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': '28cc9323-b54c-4ee4-b12d-5dfbfb648532', '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/28cc9323-b54c-4ee4-b12d-5dfbfb648532 Openstack-Request-Id: req-05211229-53e9-4876-8b4f-269a247784d4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "28cc9323-b54c-4ee4-b12d-5dfbfb648532", "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/28cc9323-b54c-4ee4-b12d-5dfbfb648532", "rel": "self"}, {"href": "http://localhost/nodes/28cc9323-b54c-4ee4-b12d-5dfbfb648532", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/28cc9323-b54c-4ee4-b12d-5dfbfb648532/ports", "rel": "self"}, {"href": "http://localhost/nodes/28cc9323-b54c-4ee4-b12d-5dfbfb648532/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/28cc9323-b54c-4ee4-b12d-5dfbfb648532/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/28cc9323-b54c-4ee4-b12d-5dfbfb648532/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/28cc9323-b54c-4ee4-b12d-5dfbfb648532/volume", "rel": "self"}, {"href": "http://localhost/nodes/28cc9323-b54c-4ee4-b12d-5dfbfb648532/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/28cc9323-b54c-4ee4-b12d-5dfbfb648532/states", "rel": "self"}, {"href": "http://localhost/nodes/28cc9323-b54c-4ee4-b12d-5dfbfb648532/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/28cc9323-b54c-4ee4-b12d-5dfbfb648532 {} GOT:{'uuid': '28cc9323-b54c-4ee4-b12d-5dfbfb648532', '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/28cc9323-b54c-4ee4-b12d-5dfbfb648532', 'rel': 'self'}, {'href': 'http://localhost/nodes/28cc9323-b54c-4ee4-b12d-5dfbfb648532', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/28cc9323-b54c-4ee4-b12d-5dfbfb648532/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/28cc9323-b54c-4ee4-b12d-5dfbfb648532/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/28cc9323-b54c-4ee4-b12d-5dfbfb648532/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/28cc9323-b54c-4ee4-b12d-5dfbfb648532/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/28cc9323-b54c-4ee4-b12d-5dfbfb648532/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/28cc9323-b54c-4ee4-b12d-5dfbfb648532/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/28cc9323-b54c-4ee4-b12d-5dfbfb648532/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/28cc9323-b54c-4ee4-b12d-5dfbfb648532/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': 'aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1', '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/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1 Openstack-Request-Id: req-5b2239b1-5b34-4779-96d4-de956a4ff7da X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1", "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/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1", "rel": "self"}, {"href": "http://localhost/nodes/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1/ports", "rel": "self"}, {"href": "http://localhost/nodes/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1/volume", "rel": "self"}, {"href": "http://localhost/nodes/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1/states", "rel": "self"}, {"href": "http://localhost/nodes/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1/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/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1 {} GOT:{'uuid': 'aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1', '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/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1', 'rel': 'self'}, {'href': 'http://localhost/nodes/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/aefa6cbe-c2cc-4ccd-958a-6a5ba0b0bce1/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': 'dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb', '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/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb Openstack-Request-Id: req-a857762d-a4ca-44a9-bb88-57126c904006 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb", "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/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb", "rel": "self"}, {"href": "http://localhost/nodes/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb/ports", "rel": "self"}, {"href": "http://localhost/nodes/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb/volume", "rel": "self"}, {"href": "http://localhost/nodes/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb/states", "rel": "self"}, {"href": "http://localhost/nodes/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb/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/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb {} GOT:{'uuid': 'dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb', '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/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb', 'rel': 'self'}, {'href': 'http://localhost/nodes/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/dc18a1bb-ec35-4ac5-b0a7-19aba7fd8afb/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': '285bb8ba-28b0-4d34-adc3-0f0356cf90f8', '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/285bb8ba-28b0-4d34-adc3-0f0356cf90f8 Openstack-Request-Id: req-36c60e34-0a71-409c-95a3-7956db1fa42f X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "285bb8ba-28b0-4d34-adc3-0f0356cf90f8", "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/285bb8ba-28b0-4d34-adc3-0f0356cf90f8", "rel": "self"}, {"href": "http://localhost/nodes/285bb8ba-28b0-4d34-adc3-0f0356cf90f8", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/285bb8ba-28b0-4d34-adc3-0f0356cf90f8/ports", "rel": "self"}, {"href": "http://localhost/nodes/285bb8ba-28b0-4d34-adc3-0f0356cf90f8/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/285bb8ba-28b0-4d34-adc3-0f0356cf90f8/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/285bb8ba-28b0-4d34-adc3-0f0356cf90f8/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/285bb8ba-28b0-4d34-adc3-0f0356cf90f8/volume", "rel": "self"}, {"href": "http://localhost/nodes/285bb8ba-28b0-4d34-adc3-0f0356cf90f8/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/285bb8ba-28b0-4d34-adc3-0f0356cf90f8/states", "rel": "self"}, {"href": "http://localhost/nodes/285bb8ba-28b0-4d34-adc3-0f0356cf90f8/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/285bb8ba-28b0-4d34-adc3-0f0356cf90f8 {} GOT:{'uuid': '285bb8ba-28b0-4d34-adc3-0f0356cf90f8', '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/285bb8ba-28b0-4d34-adc3-0f0356cf90f8', 'rel': 'self'}, {'href': 'http://localhost/nodes/285bb8ba-28b0-4d34-adc3-0f0356cf90f8', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/285bb8ba-28b0-4d34-adc3-0f0356cf90f8/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/285bb8ba-28b0-4d34-adc3-0f0356cf90f8/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/285bb8ba-28b0-4d34-adc3-0f0356cf90f8/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/285bb8ba-28b0-4d34-adc3-0f0356cf90f8/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/285bb8ba-28b0-4d34-adc3-0f0356cf90f8/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/285bb8ba-28b0-4d34-adc3-0f0356cf90f8/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/285bb8ba-28b0-4d34-adc3-0f0356cf90f8/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/285bb8ba-28b0-4d34-adc3-0f0356cf90f8/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': '06fd8e1a-1444-4a1b-8789-34cf28f3dca7', '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/06fd8e1a-1444-4a1b-8789-34cf28f3dca7 Openstack-Request-Id: req-8801af9c-7d91-4c80-b2e5-220710ee569a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "06fd8e1a-1444-4a1b-8789-34cf28f3dca7", "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/06fd8e1a-1444-4a1b-8789-34cf28f3dca7", "rel": "self"}, {"href": "http://localhost/nodes/06fd8e1a-1444-4a1b-8789-34cf28f3dca7", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/06fd8e1a-1444-4a1b-8789-34cf28f3dca7/ports", "rel": "self"}, {"href": "http://localhost/nodes/06fd8e1a-1444-4a1b-8789-34cf28f3dca7/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/06fd8e1a-1444-4a1b-8789-34cf28f3dca7/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/06fd8e1a-1444-4a1b-8789-34cf28f3dca7/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/06fd8e1a-1444-4a1b-8789-34cf28f3dca7/volume", "rel": "self"}, {"href": "http://localhost/nodes/06fd8e1a-1444-4a1b-8789-34cf28f3dca7/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/06fd8e1a-1444-4a1b-8789-34cf28f3dca7/states", "rel": "self"}, {"href": "http://localhost/nodes/06fd8e1a-1444-4a1b-8789-34cf28f3dca7/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/06fd8e1a-1444-4a1b-8789-34cf28f3dca7 {} GOT:{'uuid': '06fd8e1a-1444-4a1b-8789-34cf28f3dca7', '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/06fd8e1a-1444-4a1b-8789-34cf28f3dca7', 'rel': 'self'}, {'href': 'http://localhost/nodes/06fd8e1a-1444-4a1b-8789-34cf28f3dca7', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/06fd8e1a-1444-4a1b-8789-34cf28f3dca7/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/06fd8e1a-1444-4a1b-8789-34cf28f3dca7/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/06fd8e1a-1444-4a1b-8789-34cf28f3dca7/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/06fd8e1a-1444-4a1b-8789-34cf28f3dca7/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/06fd8e1a-1444-4a1b-8789-34cf28f3dca7/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/06fd8e1a-1444-4a1b-8789-34cf28f3dca7/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/06fd8e1a-1444-4a1b-8789-34cf28f3dca7/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/06fd8e1a-1444-4a1b-8789-34cf28f3dca7/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': '7f6e3665-17f7-440b-8bdb-c1ddf21b68c4', '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/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4 Openstack-Request-Id: req-4bb8bdd3-7381-40a5-9eee-ad4a72d49c1d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "7f6e3665-17f7-440b-8bdb-c1ddf21b68c4", "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/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4", "rel": "self"}, {"href": "http://localhost/nodes/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4/ports", "rel": "self"}, {"href": "http://localhost/nodes/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4/volume", "rel": "self"}, {"href": "http://localhost/nodes/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4/states", "rel": "self"}, {"href": "http://localhost/nodes/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4/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/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4 {} GOT:{'uuid': '7f6e3665-17f7-440b-8bdb-c1ddf21b68c4', '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/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/7f6e3665-17f7-440b-8bdb-c1ddf21b68c4/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': 'deb22b27-37d0-4344-b78a-19aa6ef5b917', '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/deb22b27-37d0-4344-b78a-19aa6ef5b917 Openstack-Request-Id: req-d472a2ab-c5d4-4ba9-a1b1-1e11f8c49158 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "deb22b27-37d0-4344-b78a-19aa6ef5b917", "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/deb22b27-37d0-4344-b78a-19aa6ef5b917", "rel": "self"}, {"href": "http://localhost/nodes/deb22b27-37d0-4344-b78a-19aa6ef5b917", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/deb22b27-37d0-4344-b78a-19aa6ef5b917/ports", "rel": "self"}, {"href": "http://localhost/nodes/deb22b27-37d0-4344-b78a-19aa6ef5b917/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/deb22b27-37d0-4344-b78a-19aa6ef5b917/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/deb22b27-37d0-4344-b78a-19aa6ef5b917/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/deb22b27-37d0-4344-b78a-19aa6ef5b917/volume", "rel": "self"}, {"href": "http://localhost/nodes/deb22b27-37d0-4344-b78a-19aa6ef5b917/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/deb22b27-37d0-4344-b78a-19aa6ef5b917/states", "rel": "self"}, {"href": "http://localhost/nodes/deb22b27-37d0-4344-b78a-19aa6ef5b917/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/deb22b27-37d0-4344-b78a-19aa6ef5b917 {} GOT:{'uuid': 'deb22b27-37d0-4344-b78a-19aa6ef5b917', '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/deb22b27-37d0-4344-b78a-19aa6ef5b917', 'rel': 'self'}, {'href': 'http://localhost/nodes/deb22b27-37d0-4344-b78a-19aa6ef5b917', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/deb22b27-37d0-4344-b78a-19aa6ef5b917/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/deb22b27-37d0-4344-b78a-19aa6ef5b917/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/deb22b27-37d0-4344-b78a-19aa6ef5b917/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/deb22b27-37d0-4344-b78a-19aa6ef5b917/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/deb22b27-37d0-4344-b78a-19aa6ef5b917/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/deb22b27-37d0-4344-b78a-19aa6ef5b917/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/deb22b27-37d0-4344-b78a-19aa6ef5b917/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/deb22b27-37d0-4344-b78a-19aa6ef5b917/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': '05093448-5e06-4bf2-a1e1-7961ca4da9c3', '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/05093448-5e06-4bf2-a1e1-7961ca4da9c3 Openstack-Request-Id: req-86419fb0-897f-479e-bf88-eb0def8fe243 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.40 {"uuid": "05093448-5e06-4bf2-a1e1-7961ca4da9c3", "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/05093448-5e06-4bf2-a1e1-7961ca4da9c3", "rel": "self"}, {"href": "http://localhost/nodes/05093448-5e06-4bf2-a1e1-7961ca4da9c3", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/nodes/05093448-5e06-4bf2-a1e1-7961ca4da9c3/ports", "rel": "self"}, {"href": "http://localhost/nodes/05093448-5e06-4bf2-a1e1-7961ca4da9c3/ports", "rel": "bookmark"}], "portgroups": [{"href": "http://localhost/v1/nodes/05093448-5e06-4bf2-a1e1-7961ca4da9c3/portgroups", "rel": "self"}, {"href": "http://localhost/nodes/05093448-5e06-4bf2-a1e1-7961ca4da9c3/portgroups", "rel": "bookmark"}], "volume": [{"href": "http://localhost/v1/nodes/05093448-5e06-4bf2-a1e1-7961ca4da9c3/volume", "rel": "self"}, {"href": "http://localhost/nodes/05093448-5e06-4bf2-a1e1-7961ca4da9c3/volume", "rel": "bookmark"}], "states": [{"href": "http://localhost/v1/nodes/05093448-5e06-4bf2-a1e1-7961ca4da9c3/states", "rel": "self"}, {"href": "http://localhost/nodes/05093448-5e06-4bf2-a1e1-7961ca4da9c3/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"}{4} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_specify_interfaces [19.745227s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_create_node_with_internal_field [0.031042s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestPost.test_post_volume_targets_subresource [0.049506s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_abort_invalid_state [0.056686s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_inspect_abort_accepted_after_1_41 [0.059577s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_manage_from_adoptfail [0.053728s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_power_state_power_on_valid_timeout_no_ver [0.048572s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_rescue_no_password [0.057644s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_unexpected_rescue_password [0.050818s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_provision_with_deploy [0.039091s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestPut.test_set_indicator_state_qs [0.046708s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_node.TestTraits.test_add_single_trait_fails_if_node_locked [0.043595s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_sloppy_true [0.481727s] ... ok GET: /v1/nodes/05093448-5e06-4bf2-a1e1-7961ca4da9c3 {} GOT:{'uuid': '05093448-5e06-4bf2-a1e1-7961ca4da9c3', '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/05093448-5e06-4bf2-a1e1-7961ca4da9c3', 'rel': 'self'}, {'href': 'http://localhost/nodes/05093448-5e06-4bf2-a1e1-7961ca4da9c3', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/nodes/05093448-5e06-4bf2-a1e1-7961ca4da9c3/ports', 'rel': 'self'}, {'href': 'http://localhost/nodes/05093448-5e06-4bf2-a1e1-7961ca4da9c3/ports', 'rel': 'bookmark'}], 'portgroups': [{'href': 'http://localhost/v1/nodes/05093448-5e06-4bf2-a1e1-7961ca4da9c3/portgroups', 'rel': 'self'}, {'href': 'http://localhost/nodes/05093448-5e06-4bf2-a1e1-7961ca4da9c3/portgroups', 'rel': 'bookmark'}], 'volume': [{'href': 'http://localhost/v1/nodes/05093448-5e06-4bf2-a1e1-7961ca4da9c3/volume', 'rel': 'self'}, {'href': 'http://localhost/nodes/05093448-5e06-4bf2-a1e1-7961ca4da9c3/volume', 'rel': 'bookmark'}], 'states': [{'href': 'http://localhost/v1/nodes/05093448-5e06-4bf2-a1e1-7961ca4da9c3/states', 'rel': 'self'}, {'href': 'http://localhost/nodes/05093448-5e06-4bf2-a1e1-7961ca4da9c3/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', 'reservation': 'fake'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-21cea5e8-5370-4dd4-ae1b-0207884755f9 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/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-da12f8db-87d6-4985-a431-fe86816dd346 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Operation not permitted.\", \"debuginfo\": null}"} 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-6b566c96-346e-440e-837a-4c6857b74d05 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': 'abort'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-51994b1a-c419-4d2f-b719-24fa51c69769 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-5d2e7bd6-980a-441a-945e-d1617c54de47 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.17 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-fc5eb07d-4b4c-438c-8b2e-f2d6acf96834 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/provision {'target': 'rescue'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-d8d5fa9f-0320-4922-8b7d-36b00fd08d87 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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-56339113-1f50-43cd-b859-ac5055d4c162 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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': 'active'} GOT:Response: 202 Accepted Location: http://localhost/v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/states Openstack-Request-Id: req-ef28fae7-11c8-4aea-b8e4-c4d1da99d3b5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/management/indicators/led@system?state=on {} GOT:Response: 204 No Content Openstack-Request-Id: req-994354dd-2297-4fd2-bf3d-965463c2e2bc X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 PUT: /v1/nodes/node-39/traits/CUSTOM_3 {} GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-09d5e9ae-3b79-427b-ae7f-3c12b0351fbc X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"} 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-14567c3c-d1e3-4d69-835a-7fda0be236b4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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}"}{4} ironic.tests.unit.api.controllers.v1.test_port.TestPatch.test_remove_uuid [1.921891s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__CheckAllowedPortFields.test__check_allowed_port_fields_portgroup_not_allow [0.010250s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_port.TestPortsController__GetPortByAddress.test__get_ports_by_address [0.006853s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_error [0.057270s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_local_link_connection_missing_optional [0.059793s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_port.TestPost.test_create_port_with_llc_old_api_version [0.040070s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key [0.057007s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestListPortgroups.test_sort_key_invalid [0.064168s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_remove_mode_not_allowed [0.033877s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_byname_with_json [0.054120s] ... 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: 500 Internal Server Error Content-Type: application/json Openstack-Request-Id: req-66afd735-3857-4165-82c0-7e20525c8697 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': '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-92e9ef8c-bea4-4607-a802-3e407df2b1cd X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:46.914081+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': '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-a690462d-6e33-48fc-bce2-cdecd7859d04 X-Openstack-Ironic-Api-Maximum-Version: 1.68 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/portgroups?sort_key=uuid {} GOT:{'portgroups': [{'uuid': '26267972-79cd-4b4a-9784-a9fdfe879bc9', 'address': '52:54:00:cf:2d:30', 'name': 'portgroup0', 'links': [{'href': 'http://localhost/v1/portgroups/26267972-79cd-4b4a-9784-a9fdfe879bc9', 'rel': 'self'}, {'href': 'http://localhost/portgroups/26267972-79cd-4b4a-9784-a9fdfe879bc9', 'rel': 'bookmark'}]}, {'uuid': '6b4f1fe5-df9e-4db3-a662-ee82e9b168a1', 'address': '52:54:00:cf:2d:31', 'name': 'portgroup1', 'links': [{'href': 'http://localhost/v1/portgroups/6b4f1fe5-df9e-4db3-a662-ee82e9b168a1', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6b4f1fe5-df9e-4db3-a662-ee82e9b168a1', 'rel': 'bookmark'}]}, {'uuid': '6d46ae1c-0b06-4eb2-b574-0bc0fff11217', 'address': '52:54:00:cf:2d:32', 'name': 'portgroup2', 'links': [{'href': 'http://localhost/v1/portgroups/6d46ae1c-0b06-4eb2-b574-0bc0fff11217', 'rel': 'self'}, {'href': 'http://localhost/portgroups/6d46ae1c-0b06-4eb2-b574-0bc0fff11217', 'rel': 'bookmark'}]}]} GET: /v1/portgroups?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-f1a454a6-6c28-4624-8a04-fbee7c8e7e1d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-56a239ec-3831-4216-b663-eb0c1b4d32e2 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-ce714947-f641-4f6b-9460-5f54f1e0a88a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-91bcee54-4382-4599-860e-0d95ae5a2f7b X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\", \"debuginfo\": 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-c37bb8b9-d372-471c-9e68-85705b58d4c8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"'/mode' is a mandatory attribute and can not be removed\", \"debuginfo\": null}"} 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-9fb4252b-ab73-4144-b1a5-a3c5cba95b2c X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:47.138988+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-8b128d1c-b519-4767-b312-c91cbbda2aad X-Openstack-Ironic-Api-Maximum-Version: 1.68 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": "2021-01-19T06:02:47.193472+00:00", "updated_at": null}{4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPatch.test_update_in_inspecting_allowed [2.080980s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_portgroup.TestPost.test_create_portgroup_name_invalid [0.038421s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_types.TestEventType.test_invalid_event_type [0.005482s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_types.TestJsonPatchType.test_missing_required_fields_op [0.020094s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_types.TestJsonType.test_apimultitype_tostring [0.005399s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_types.TestLocalLinkConnectionType.test_local_link_connection_net_type_unmanaged [0.004967s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_types.TestNameType.test_valid_name [0.005453s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_allow_portgroups [0.005552s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_abort_verbs [0.005791s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_adopt_verbs [0.005631s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckAllowFields.test_check_allow_specify_resource_class_fail [0.005893s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy [0.006714s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckListPolicy.test_check_list_policy_non_admin_owner_proj_mismatch [0.006600s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckMultipleNodePoliciesAndRetrieve.test_check_multiple_node_policies_and_retrieve [0.005838s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_utils.TestCheckPortPolicyAndRetrieve.test_check_port_policy_and_retrieve_no_port [0.006944s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_utils.TestNodeIdent.test_allow_node_logical_names_post_name [0.005702s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_versions.TestMaxVersionString.test_max_version_not_pinned [0.004943s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestDelete.test_delete_volume_connector_byid_invalid_api_version [0.217692s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_collection_links_custom_fields [0.053495s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestListVolumeConnectors.test_get_collection_custom_fields [0.049392s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_remove_mandatory_field [0.031188s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_volume_connector.TestPatch.test_replace_non_existent_node_uuid [0.037773s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_create_volume_target_node_uuid_not_found [0.031230s] ... ok {4} ironic.tests.unit.api.controllers.v1.test_volume_target.TestPost.test_node_uuid_to_node_id_mapping [0.041224s] ... ok {4} ironic.tests.unit.api.test_args.TestArgs.test_usertype_from_params [0.004931s] ... ok {4} ironic.tests.unit.api.test_audit.TestAuditMiddleware.test_disable_audit_request [0.014785s] ... ok {4} ironic.tests.unit.api.test_types.TestTypes.test_inspect_with_property [0.005095s] ... ok {4} ironic.tests.unit.api.test_types.TestTypes.test_unregister_array_type [0.005059s] ... ok {4} ironic.tests.unit.api.test_types.TestTypes.test_unregister_dict_type [0.005432s] ... ok {4} ironic.tests.unit.api.test_types.TestTypes.test_wsattr_weakref_datatype [0.004899s] ... ok {4} ironic.tests.unit.common.test_context.RequestContextTestCase.test_thread_with_context [0.005595s] ... ok {4} ironic.tests.unit.common.test_driver_factory.CheckAndUpdateNodeInterfacesTestCase.test_create_node_valid_interfaces [0.014453s] ... ok {4} ironic.tests.unit.common.test_driver_factory.NetworkInterfaceFactoryTestCase.test_build_driver_for_task_unknown_network_interface [0.038165s] ... ok {4} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_disabled [0.006238s] ... ok {4} ironic.tests.unit.common.test_glance_service.TestSwiftTempUrlCache.test_swift_temp_url_cache_enabled [0.006454s] ... ok {4} ironic.tests.unit.common.test_image_service.HttpImageServiceTestCase.test_download_fail_verify_false_connerror [0.007719s] ... ok {4} ironic.tests.unit.common.test_images.FsImageTestCase.test_create_isolinux_image_bios_mkisofs_fails [0.010451s] ... ok {4} ironic.tests.unit.common.test_images.IronicImagesTestCase.test_fetch_image_service [0.009765s] ... ok {4} ironic.tests.unit.common.test_json_rpc.TestClient.test_call_ipv4_success [0.009732s] ... ok {4} ironic.tests.unit.common.test_json_rpc.TestSession.test_http_basic [0.008752s] ... ok {4} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_add_ports_with_client_id_to_network [0.053066s] ... ok {4} ironic.tests.unit.common.test_neutron.TestNeutronNetworkActions.test_remove_neutron_smartnic_ports [0.039765s] ... ok {4} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_1 [0.018121s] ... ok {4} ironic.tests.unit.common.test_nova.NovaApiTestCase.test_power_update_failed [0.014060s] ... ok {4} ironic.tests.unit.common.test_policy.PolicyInCodeTestCase.test_public_api [0.008557s] ... ok {4} ironic.tests.unit.common.test_policy.PolicyInCodeTestCaseNegative.test_show_password [0.008068s] ... ok {4} ironic.tests.unit.common.test_policy.PolicyTestCase.test_get_oslo_policy_enforcer_no_args [0.030416s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_uefi [0.072678s] ... ok {4} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_get_instance_image_info [0.038135s] ... ok {4} ironic.tests.unit.common.test_pxe_utils.PXEInterfacesTestCase.test_parse_driver_info_missing_rescue_kernel [0.010814s] ... ok {4} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test__write_mac_pxe_configs [0.039543s] ... ok {4} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_create_ipxe_boot_script_copy_file_different [0.013732s] ... ok {4} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance [0.037189s] ... ok {4} ironic.tests.unit.common.test_pxe_utils.TestPXEUtils.test_dhcp_options_for_instance_ipv6 [0.034411s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot [0.050606s] ... ok {4} ironic.tests.unit.common.test_pxe_utils.iPXEBuildConfigOptionsTestCase.test_build_pxe_config_options_ipxe_boot_iso [0.054180s] ... ok {4} ironic.tests.unit.common.test_raid.RaidPublicMethodsTestCase.test_filter_target_raid_config_empty_target_raid_config [0.020134s] ... ok {4} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_invalid_size_gb [0.006788s] ... ok {4} ironic.tests.unit.common.test_raid.ValidateRaidConfigurationTestCase.test_validate_configuration_max_size_gb [0.006608s] ... ok {4} ironic.tests.unit.common.test_utils.ExecuteTestCase.test_execute_use_standard_locale_with_env_variables [0.008096s] ... ok {4} ironic.tests.unit.common.test_utils.GenericUtilsTestCase.test_is_valid_datapath_id [0.004668s] ... ok {4} ironic.tests.unit.conductor.test_base_manager.StartStopTestCase.test_stop_uninitialized_conductor [0.026573s] ... ok {4} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_next_clean_step_automated_bad_step_return_value [0.062170s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_not_deploying_not_cleaning [0.155476s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_non_glance_image [0.035428s] ... ok {4} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_disabled [0.057171s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_small_netmask [0.066613s] ... ok {4} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_enabled [0.062529s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_out_range_sensor_method [0.010554s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementTestCase.test_management_interface_get_sensors_data_exception [0.034659s] ... ok {19} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_1 [0.010507s] ... ok {4} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_network_validate_fail [0.056892s] ... ok {19} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_physnet [0.058567s] ... ok {4} ironic.tests.unit.conductor.test_cleaning.DoNodeCleanTestCase.test__do_node_clean_automated_prepare_clean_fail [0.058670s] ... ok {19} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_get_current_vif_none [0.039037s] ... ok {19} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_list [0.039392s] ... ok {19} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_inspection_network_with_sg [0.040863s] ... ok {19} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_post_reboot_deploying [0.064446s] ... ok {19} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_no_bios [0.071984s] ... ok {19} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_loading_error [0.011989s] ... ok {19} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_only_cdrom [0.028898s] ... ok {19} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_deploy [0.027745s] ... ok {4} ironic.tests.unit.conductor.test_deployments.DoNextDeployStepTestCase.test_do_next_deploy_step_oob_reboot_fail [0.345411s] ... ok {19} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_prepare_ramdisk_with_params [0.051935s] ... ok {19} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_ok [0.039313s] ... ok {14} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_allowed_state [1.495661s] ... ok {19} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_attach_volumes_failure [0.048389s] ... ok {14} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_maintenance_set_false [0.038134s] ... ok {4} ironic.tests.unit.conductor.test_manager.ChangeNodePowerStateTestCase.test_change_node_power_state_soft_power_off_timeout [0.134044s] ... ok {19} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_detach_volumes_failure [0.042635s] ... ok {14} ironic.tests.unit.conductor.test_manager.UpdatePortTestCase.test_update_port_portgroup_enroll_node [0.046110s] ... ok {14} ironic.tests.unit.conductor.test_manager.UpdateVolumeConnectorTestCase.test_update_volume_connector [0.040910s] ... ok {19} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test_validate_success_connectors_and_boot [0.059316s] ... ok {14} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_uuid [0.034806s] ... ok {4} ironic.tests.unit.conductor.test_manager.ConsoleTestCase.test_set_console_mode_validation_fail [0.109253s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_clean_up_manage_agent_boot_false [0.046168s] ... ok {14} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_driver_not_found [0.057212s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_manage_agent_boot_false [0.077550s] ... ok {4} ironic.tests.unit.conductor.test_manager.ContinueNodeDeployTestCase.test_continue_node_deploy_polling [0.119388s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_checksum [0.048312s] ... ok {14} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_vendor_passthru_shared_lock [0.109578s] ... ok {14} ironic.tests.unit.conductor.test_rpcapi.ConductorRPCAPITestCase.test_versions_in_sync [0.004828s] ... ok {14} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_do_node_tear_down [0.009517s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_netboot [0.044970s] ... ok {14} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_inject_nmi [0.009295s] ... ok {14} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_update_portgroup [0.009204s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network [0.045462s] ... ok {14} ironic.tests.unit.conductor.test_steps.GetValidatedStepsFromTemplatesTestCase.test_instance_deploy_failure [0.034929s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_get_deploy_steps_only_oob [0.035446s] ... ok {14} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_error [0.035709s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_install_bootloader_with_prep [0.005531s] ... ok {19} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_succeed_after_two_timeouts [0.006779s] ... ok {19} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_default [0.012124s] ... ok {4} ironic.tests.unit.conductor.test_manager.DestroyNodeTestCase.test_destroy_node [0.175355s] ... ok {19} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_valid_console_port_range [0.007089s] ... ok {14} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__get_all_deployment_steps_no_driver_steps [0.034051s] ... ok {4} ironic.tests.unit.conductor.test_manager.DestroyPortTestCase.test_destroy_port_with_instance_not_in_active_port_unbound [0.036992s] ... ok {14} ironic.tests.unit.conductor.test_steps.NodeDeployStepsTestCase.test__validate_user_deploy_steps_not_supported [0.033529s] ... ok {14} ironic.tests.unit.conductor.test_task_manager.ThreadExceptionTestCase.test_set_node_last_error_no_error [0.005131s] ... ok {14} ironic.tests.unit.conductor.test_utils.DeployingErrorHandlerTestCase.test_deploying_error_handler_cleanup_ironic_exception [0.005616s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning_broken_fast_track [0.050466s] ... ok {14} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleaning_error_handler [0.006432s] ... ok {14} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_cleanwait_timeout_handler_call [0.005814s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_set_async_step_flags_deploying_set_all [0.026379s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_cpu_not_in_by_arch [0.007006s] ... ok {14} ironic.tests.unit.conductor.test_utils.FastTrackTestCase.test_is_fast_track_error_blocks [0.042155s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_vif_port_id_extra [0.035963s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_get_boot_mode_for_deploy_using_capabilities [0.005119s] ... ok {14} ironic.tests.unit.conductor.test_utils.GetNodeNextStepsTestCase.test_get_node_next_clean_steps_unset_clean_step [0.032350s] ... ok {4} ironic.tests.unit.conductor.test_manager.DoNodeAdoptionTestCase.test_heartbeat_with_agent_version [0.123228s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_image [0.052702s] ... ok {14} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_failed_getting_state [0.045674s] ... ok {14} ironic.tests.unit.conductor.test_utils.ValidateInstanceInfoTraitsTestCase.test_validate_instance_info_traits_no_instance_traits [0.005280s] ... ok {14} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_take_over_conflict [0.021636s] ... ok {14} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_create_bios_setting_list [0.014074s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_iinfo [0.053116s] ... ok {14} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_get_bios_setting_node_not_exist [0.012572s] ... ok {4} ironic.tests.unit.conductor.test_manager.DoNodeRescueTestCase.test_do_node_unrescue [0.091352s] ... ok {14} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_target_power_state [0.039722s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_no_force_raw [0.052979s] ... ok {14} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_delete_node_tag_not_found [0.014208s] ... ok {14} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_set_node_traits_at_limit [0.016497s] ... ok {14} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_create_node_with_tags [0.006700s] ... ok {14} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_release_non_existent_node [0.022705s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_iscsi [0.058239s] ... ok {19} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_whole_disk_image [0.010103s] ... ok {14} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_provision [0.017274s] ... ok {19} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_fail [0.013662s] ... ok {14} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_address_filter_by_project [0.014150s] ... ok {19} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_clean_up_cache_still_large [0.006472s] ... ok {4} ironic.tests.unit.conductor.test_manager.DoNodeTakeOverTestCase.test__do_takeover_with_console_enabled [0.131194s] ... ok {19} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_temp_dir_exception [0.006103s] ... ok {14} ironic.tests.unit.db.test_ports.DbPortTestCase.test_get_port_by_id [0.013438s] ... ok {19} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_out_of_date [0.006021s] ... ok {19} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_up_to_date [0.007329s] ... ok {14} ironic.tests.unit.db.test_volume_connectors.DbVolumeConnectorTestCase.test_get_volume_connectors_by_node_id [0.012524s] ... ok {14} ironic.tests.unit.dhcp.test_neutron.TestNeutron.test__get_port_ip_address_tenant [0.040693s] ... ok {4} ironic.tests.unit.conductor.test_manager.DoNodeTearDownTestCase.test_do_node_tear_down_protected [0.105204s] ... ok {14} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_execute_clean_step_no_success_log [0.046989s] ... ok {4} ironic.tests.unit.conductor.test_manager.ManagerPowerRecoveryTestCase.test_node_locked_on_acquire [0.010972s] ... ok {4} ironic.tests.unit.conductor.test_manager.ManagerSyncPowerStatesTestCase.test_node_in_maintenance_on_acquire [0.010206s] ... ok {14} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleDeploy.test_prepare [0.047174s] ... ok {4} ironic.tests.unit.conductor.test_manager.NmiTestCase.test_inject_nmi_validate_missing_param [0.033176s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config_fail [0.038805s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_timeout [3.049239s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_apply_configuration_clean [0.044257s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_bios.DracWSManBIOSConfigurationTestCase.test_cache_bios_settings_fail [0.035274s] ... ok {4} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_return_other_state [0.121234s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_missing_host [0.010734s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__guess_root_disk [0.035189s] ... ok {4} ironic.tests.unit.conductor.test_manager.NodeInspectHardware.test_inspect_hardware_validate_fail [0.048861s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_with_existing_ports [0.046007s] ... ok {4} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_add_node_traits_invalid_parameter_value [0.038312s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test_set_boot_device_with_multiple_unfinished_jobs_with_clean_step [0.015723s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_get_properties [0.011615s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__reset_raid_config [0.012452s] ... ok {4} ironic.tests.unit.conductor.test_manager.NodeTraitsTestCase.test_remove_node_traits [0.065791s] ... ok {4} ironic.tests.unit.conductor.test_manager.ParallelPowerSyncTestCase.test__sync_power_states_9_nodes_1_worker [0.009560s] ... ok {14} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test__execute_foreign_drives_with_no_foreign_drives [0.052547s] ... ok {14} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_get_sensors_data [0.026286s] ... ok {4} ironic.tests.unit.conductor.test_manager.SensorsTestCase.test_send_sensor_task [0.087449s] ... ok {14} ironic.tests.unit.drivers.modules.ibmc.test_raid.IbmcRAIDTestCase.test_sync_create_configuration_without_root [0.052848s] ... ok {4} ironic.tests.unit.conductor.test_manager.ServiceDoNodeDeployTestCase.test_do_node_deploy_validate_fail [0.041503s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_clean_up_instance_deleting [0.046924s] ... ok {4} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_fix_broken_interface [0.042547s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_ramdisk_boot_option_webserver [0.042655s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.033354s] ... ok {19} ironic.tests.unit.drivers.modules.test_inspector.GetClientTestCase.test__get_client_standalone [0.652048s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_set_boot_mode_without_set_pending_boot_mode [0.011622s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_no_force_set_boot_device [0.047887s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_setup_uefi_https_persistent_true [0.056017s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_prop_boot_mode_exist [0.044180s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_uefi_and_persistent_smci [0.059263s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_without_timeout_1 [0.036579s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_update_boot_mode_use_def_boot_mode [0.044176s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_path_verify_ca_file [0.012413s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_inspection_true_raises [0.011744s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_validate_good [0.036291s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_common.IloValidateParametersTestCase.test_parse_driver_info_snmp_true_no_auth_priv_protocols [0.011481s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_uploads_firmware_to_swift [0.020625s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__validate_sum_components [0.004973s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_fw_processor_ctor_sets_parsed_url_attrib_of_fw_processor [0.005073s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_off [0.038826s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_inspect.TestInspectPrivateMethods.test__get_essential_properties_hardware_port_empty [0.011703s] ... ok {4} ironic.tests.unit.conductor.test_manager.UpdateNodeTestCase.test_update_node_interface_in_maintenance [0.287700s] ... ok {4} ironic.tests.unit.conductor.test_manager.UpdatePortgroupTestCase.test_update_portgroup_node_locked [0.021962s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_soft_reboot_timeout_fail [0.037695s] ... ok {4} ironic.tests.unit.conductor.test_manager.UpdateVolumeTargetTestCase.test_update_volume_target_node_locked [0.020315s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_erase_pattern_zero [0.051195s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_vendor_passthru_validate__send_raw_bytes_good [0.038913s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_second_call_to_address_sleep [0.014770s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__make_password_file_write_exception [0.014909s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_one_button_secure_erase [0.052602s] ... ok {4} ironic.tests.unit.conductor.test_manager.VendorPassthruTestCase.test_driver_vendor_passthru_method_not_supported [0.057444s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_single_bridging_missing_parameters [0.013795s] ... ok {4} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_create_allocation [0.012189s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_off [0.013210s] ... ok {4} ironic.tests.unit.conductor.test_rpcapi.RPCAPITestCase.test_get_topic_doesnt_cache [0.015945s] ... ok {4} ironic.tests.unit.conductor.test_task_manager.ExclusiveLockDecoratorTestCase.test_with_shared_lock_task_first_arg [0.004613s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test__write_firmware_sum_final_unknown_exception_deploy [0.045088s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_console_validate_invalid_port [0.028099s] ... ok {4} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_excl_lock_build_driver_exception [0.014615s] ... ok {4} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_no_driver [0.015003s] ... ok {4} ironic.tests.unit.conductor.test_task_manager.TaskManagerTestCase.test_shared_lock_build_driver_exception [0.015417s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_get_boot_device_persistent [0.039898s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_alloc_port [0.039619s] ... ok {4} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout [0.012028s] ... ok {4} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_cleanup_rescuewait_timeout_known_exc [0.011871s] ... ok {4} ironic.tests.unit.conductor.test_utils.ErrorHandlersTestCase.test_rescuing_error_handler [0.006261s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_management.IloManagementTestCase.test_reset_ilo_credential_pass_as_arg_ok [0.048958s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_localboot [0.052866s] ... ok {4} ironic.tests.unit.conductor.test_utils.NodePowerActionTestCase.test_node_power_action_reboot_storage_attach [0.049159s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_invalid_state [0.033272s] ... ok {19} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_invalid_trusted_boot_value [0.030906s] ... ok {19} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_portal_port [0.011028s] ... ok {19} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_console [0.004945s] ... ok {4} ironic.tests.unit.conductor.test_utils.NodeSoftPowerActionTestCase.test_node_power_action_soft_power_off_storage_detach [0.050926s] ... ok {4} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_create_allocation_duplicated_uuid [0.011499s] ... ok {14} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_with_read_raid_failed_deploying [0.056075s] ... ok {4} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_by_name [0.012351s] ... ok {4} ironic.tests.unit.db.test_allocations.AllocationsTestCase.test_get_allocation_list_invalid_fields [0.010507s] ... ok {19} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_default [0.073179s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_fd_fail [0.039794s] ... ok {4} ironic.tests.unit.db.test_bios_settings.DbBIOSSettingTestCase.test_update_bios_setting_list [0.020459s] ... ok {4} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_get_chassis_that_does_not_exist [0.008634s] ... ok {4} ironic.tests.unit.db.test_chassis.DbChassisTestCase.test_update_chassis_that_does_not_exist [0.009118s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test_setup_vmedia_with_image_service_rescue [0.037650s] ... ok {4} ironic.tests.unit.db.test_conductor.DbConductorTestCase.test_clear_node_reservations_for_conductor [0.034066s] ... ok {4} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_destroy [0.015261s] ... ok {19} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_force_persistent_boot_device_true [0.072058s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_validate_fail_no_port [0.033443s] ... ok {4} ironic.tests.unit.db.test_deploy_templates.DbDeployTemplateTestCase.test_get_deploy_template_by_id [0.012353s] ... ok {4} ironic.tests.unit.db.test_node_tags.DbNodeTagTestCase.test_get_node_tags_empty [0.012628s] ... ok {4} ironic.tests.unit.db.test_node_traits.DbNodeTraitTestCase.test_get_node_traits_empty [0.012527s] ... ok {4} ironic.tests.unit.db.test_nodes.DbNodeTestCase.test_update_node_uuid [0.009055s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_clean_up_instance_with_secure_boot_false [0.052962s] ... ok {4} ironic.tests.unit.drivers.modules.ansible.test_deploy.TestAnsibleMethods.test__get_configdrive_path [0.010041s] ... ok {19} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.087430s] ... ok {4} ironic.tests.unit.drivers.modules.drac.test_bios.DracBIOSConfigurationTestCase.test_set_config [0.034732s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_glance_image [0.039741s] ... ok {4} ironic.tests.unit.drivers.modules.drac.test_common.DracCommonMethodsTestCase.test_parse_driver_info_invalid_port [0.010354s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_port [0.010969s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_missing_username [0.010931s] ... ok {19} ironic.tests.unit.drivers.modules.test_pxe.PXEValidateRescueTestCase.test_validate_rescue_fails_no_rescue_kernel [0.042182s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_without_raid_object [0.017309s] ... ok {4} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test__get_pxe_dev_nics_list_nic_setting_failure [0.033756s] ... ok {19} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_masterswitch_power_state_off [0.008361s] ... ok {19} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_on [0.008518s] ... ok {4} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_get_properties [0.015457s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_invalid_target_state [0.029890s] ... ok {19} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_error [0.035509s] ... ok {19} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_driver [0.007275s] ... ok {4} ironic.tests.unit.drivers.modules.drac.test_inspect.DracInspectionTestCase.test_inspect_hardware_no_virtual_disk [0.046897s] ... ok {19} ironic.tests.unit.drivers.modules.xclarity.test_common.XClarityCommonTestCase.test_parse_driver_info_missing_driver_info_and_config [0.011511s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerTestCase.test_get_power_state [0.042073s] ... ok {4} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_list_unfinished_jobs_fail [0.011052s] ... ok {14} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validate_capacity_raid_10 [0.011063s] ... ok {4} ironic.tests.unit.drivers.modules.drac.test_job.DracJobTestCase.test_validate_job_queue_fail [0.011724s] ... ok {4} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementInternalMethodsTestCase.test__flexibly_program_boot_order_for_disk_and_uefi [0.012109s] ... ok {19} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_get_boot_device_fail [0.036522s] ... ok {19} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo [0.005030s] ... ok {19} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_empty_dict [0.004905s] ... ok {19} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_priority_only [0.005213s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_port_changed_client_id_no_vif_id [0.044309s] ... ok {19} ironic.tests.unit.drivers.test_base.TestManagementInterface.test_set_boot_mode_default_impl [0.009326s] ... ok {4} ironic.tests.unit.drivers.modules.drac.test_management.DracManagementTestCase.test_known_good_state [0.033861s] ... ok {4} ironic.tests.unit.drivers.modules.drac.test_periodic_task.DracPeriodicTaskTestCase.test__check_node_raid_jobs_without_update [0.023014s] ... ok {19} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_default_interfaces [0.034791s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_portgroup_physnet_inconsistent [0.042893s] ... ok {4} ironic.tests.unit.drivers.modules.drac.test_raid.DracCreateRaidConfigurationHelpersTestCase.test__find_configuration [0.017094s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__get_vif_id_by_port_like_obj_in_extra [0.012139s] ... ok {4} ironic.tests.unit.drivers.modules.drac.test_raid.DracManageVirtualDisksTestCase.test__change_physical_disk_mode [0.021496s] ... ok {19} ironic.tests.unit.drivers.test_utils.MixinVendorInterfaceTestCase.test_vendor_interface_validate_valid_methods [0.035053s] ... ok {19} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_get_node_capability [0.010373s] ... ok {19} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_save [0.009006s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra_and_internal_priority [0.037900s] ... ok {19} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_remove [0.006635s] ... ok {19} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_get [0.007779s] ... ok {4} ironic.tests.unit.drivers.modules.drac.test_raid.DracRaidInterfaceTestCase.test_create_configuration_with_max_size_without_backing_disks [0.047782s] ... ok {19} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_save_after_refresh [0.016270s] ... ok {19} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_register_into_group_uppercased [0.008548s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__bind_flat_ports_set_binding_host_id [0.040025s] ... ok {19} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_get_by_name [0.008158s] ... ok {4} ironic.tests.unit.drivers.modules.ibmc.test_management.IBMCManagementTestCase.test_set_boot_mode [0.038284s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_validate_inspection_exc [0.035114s] ... ok {19} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_destroy_with_node [0.032001s] ... ok {19} ironic.tests.unit.objects.test_fields.TestNotificationLevelField.test_coerce_good_value [0.004489s] ... ok {19} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_supported_missing [0.006888s] ... ok {19} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_set [0.007534s] ... ok {19} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_bios_unsupported_set_no_remove_default [0.007024s] ... ok {19} ironic.tests.unit.objects.test_node.TestNodeObject.test_get_by_id [0.008221s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_validate_boot_option_netboot_no_exc [0.042014s] ... ok {4} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot [0.056778s] ... ok {19} ironic.tests.unit.objects.test_node.TestNodeObject.test_release_node_not_found [0.007579s] ... ok {19} ironic.tests.unit.objects.test_node.TestNodeObject.test_save_with_conductor_group [0.009209s] ... ok {19} ironic.tests.unit.objects.test_node.TestNodeObject.test_update_with_invalid_properties [0.008686s] ... ok {19} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_populate_schema [0.004532s] ... ok {19} ironic.tests.unit.objects.test_objects.TestObject.test_static_result [0.004445s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_vif_port_changed [0.034063s] ... ok {4} ironic.tests.unit.drivers.modules.ibmc.test_power.IBMCPowerRebootTestCase.test_reboot_fail [0.037974s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_get_properties [0.012251s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test__execute_pre_boot_bios_step_invalid_deploying [0.036172s] ... ok {19} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_keeps_newer_properly [0.044226s] ... ok {14} ironic.tests.unit.drivers.modules.network.test_noop.NoopInterfaceTestCase.test_vif_list [0.035588s] ... ok {19} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported [0.006798s] ... ok {19} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra [0.006877s] ... ok {19} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_list_by_node_id [0.007877s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_bios.IloBiosTestCase.test_apply_configuration_post_boot [0.035749s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootCommonMethodsTestCase.test_parse_driver_info_rescue_config [0.010052s] ... ok GOT:Response: 409 Conflict Content-Type: application/json Openstack-Request-Id: req-9411b9c6-5caa-4d27-9214-20a4d4c57c7a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A portgroup with MAC address aa:aa:aa:11:22:33 already exists.\", \"debuginfo\": null}"} GET: /v1/volume/connectors?node=test-node {} GOT:{'connectors': [{'uuid': '021fa4f7-740e-496b-a7e3-5a8bec877178', 'type': 'iqn', 'connector_id': 'test-value-0', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/021fa4f7-740e-496b-a7e3-5a8bec877178', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/021fa4f7-740e-496b-a7e3-5a8bec877178', 'rel': 'bookmark'}]}, {'uuid': 'f70c1000-8e7a-4b0a-af19-db24837f96e5', 'type': 'iqn', 'connector_id': 'test-value-1', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/f70c1000-8e7a-4b0a-af19-db24837f96e5', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/f70c1000-8e7a-4b0a-af19-db24837f96e5', 'rel': 'bookmark'}]}, {'uuid': '89bb74b1-2492-42b2-bd09-9323e7edcf48', 'type': 'iqn', 'connector_id': 'test-value-2', 'node_uuid': '1be26c0b-03f2-4d2e-ae87-c02d7f33c123', 'links': [{'href': 'http://localhost/v1/volume/connectors/89bb74b1-2492-42b2-bd09-9323e7edcf48', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/89bb74b1-2492-42b2-bd09-9323e7edcf48', 'rel': 'bookmark'}]}]} 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/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': '2021-01-19T06:02:40.449521+00:00', 'updated_at': None} GET: /v1/volume/targets?sort_key=foo {} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-db8830de-70bc-4d65-a720-606569328b97 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-8509f150-a15d-4531-a72e-6dada8c62454 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-58a92849-e522-4ab1-841d-6a3499187f62 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The sort_key value properties is an invalid field for sorting\", \"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-5dad10b2-1086-411b-9458-abd1cbac155a X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-2ea7b769-3932-4990-8776-c6bca0749149 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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}"} GET: / {} GOT:{'name': 'OpenStack Ironic API', 'description': 'Ironic is an OpenStack project which aims to provision baremetal machines.', 'default_version': {'id': 'v1', 'links': [{'href': 'http://spam.ham/eggs/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.68'}, 'versions': [{'id': 'v1', 'links': [{'href': 'http://spam.ham/eggs/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.68'}]} GET: / {} GOT:{'name': 'OpenStack Ironic API', 'description': 'Ironic is an OpenStack project which aims to provision baremetal machines.', 'default_version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.68'}, 'versions': [{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.68'}]} GET: /v1/ {} GOT:{'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}, {'href': 'https://docs.openstack.org//ironic/latest/contributor//webapi.html', 'rel': 'describedby', 'type': 'text/html'}], 'media_types': {'base': 'application/json', 'type': 'application/vnd.openstack.ironic.v1+json'}, 'chassis': [{'href': 'http://localhost/v1/chassis/', 'rel': 'self'}, {'href': 'http://localhost/chassis/', 'rel': 'bookmark'}], 'nodes': [{'href': 'http://localhost/v1/nodes/', 'rel': 'self'}, {'href': 'http://localhost/nodes/', 'rel': 'bookmark'}], 'ports': [{'href': 'http://localhost/v1/ports/', 'rel': 'self'}, {'href': 'http://localhost/ports/', 'rel': 'bookmark'}], 'drivers': [{'href': 'http://localhost/v1/drivers/', 'rel': 'self'}, {'href': 'http://localhost/drivers/', 'rel': 'bookmark'}], 'version': {'id': 'v1', 'links': [{'href': 'http://localhost/v1/', 'rel': 'self'}], 'status': 'CURRENT', 'min_version': '1.1', 'version': '1.68'}, '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'}]} {14} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_cache_bios_settings_noop [0.069831s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__disable_secure_boot_false [0.034319s] ... ok {14} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_exc [0.031944s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test__validate_whole_disk_image [0.040559s] ... ok {14} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_validate_inspection [0.032818s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_boot.IloBootPrivateMethodsTestCase.test_prepare_node_for_deploy_inst_info [0.036883s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_clean_up_instance_boot_from_volume_bios [0.035311s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_boot.IloPXEBootTestCase.test_prepare_instance [0.035960s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_boot.IloUefiHttpsBootTestCase.test_validate_ramdisk_boot_option_glance [0.042341s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test__configure_vmedia_boot_without_boot_iso [0.034201s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_ok [2.047490s] ... ok {14} ironic.tests.unit.drivers.modules.redfish.test_inspect.RedfishInspectTestCase.test_inspect_hardware_preserve_boot_mode [0.224229s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_boot.IloVirtualMediaBootTestCase.test_prepare_ramdisk_rescue_not_a_glance_image [0.061447s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_common.IloCommonMethodsTestCase.test_remove_single_or_list_of_files_with_file_str [0.011994s] ... ok {14} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_not_redfish [0.021553s] ... ok {14} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_loading_error [0.015736s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_console.IloConsoleInterfaceTestCase.test_validate_exc [0.038328s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test__extract_fw_from_file_doesnt_upload_firmware [0.016739s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_firmware_processor.FirmwareProcessorTestCase.test_verify_firmware_update_args_throws_for_no_firmware_url [0.005035s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_validate_no_manage_agent [0.040593s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_inspect.IloInspectTestCase.test_inspect_essential_ok_local_gb_zero [0.052005s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_unrescue_no_manage_agent_boot [0.055691s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_management.Ilo5ManagementTestCase.test_erase_devices_hdd_with_invalid_format_erase_pattern [0.031175s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_smartnic_port [0.088786s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_os_image_hash [0.050174s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_boot_loader_install_fail [0.091684s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_continue_cleaning_unknown [0.039662s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_prepare_instance_to_boot_localboot [0.042255s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_switch_to_tenant_network_fails [0.086491s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_cleaning_fails [0.048101s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_resume_clean_fails [0.094779s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_deploy_step [0.034730s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__get_command_body [0.004873s] ... ok {14} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClientAttempts.test__command_fail_all_attempts [0.006634s] ... ok {14} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__get_console_pid_dir_tempdir [0.006873s] ... ok {14} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_timeout [0.014423s] ... ok {14} ironic.tests.unit.drivers.modules.test_deploy_utils.AsyncStepTestCase.test_get_async_step_return_state_cleaning [0.017299s] ... ok {14} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_ipxe_boot_file [0.006890s] ... ok {14} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_emtpy_property [0.006831s] ... ok {14} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_provisioning_vif_port_id [0.033706s] ... ok {14} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_none [0.012744s] ... ok {14} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_is_secure_boot_requested_false [0.004614s] ... ok {14} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForDeploy.test_build_instance_info_for_deploy_glance_partition_image [0.052059s] ... ok {14} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw_drops_md5 [0.052004s] ... ok {14} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_glance_image_not_authorized [0.007317s] ... ok {14} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_both_clean_up [0.014003s] ... ok {14} ironic.tests.unit.drivers.modules.test_image_cache.CleanupImageCacheTestCase.test_clean_up_another_fs [0.015605s] ... ok {14} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_master_same_time [0.006835s] ... ok {14} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_unpublish_image_local [0.032421s] ... ok {14} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_fast_track [0.050933s] ... ok {14} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareTestCase.test_managed_ok [0.047812s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device [0.034230s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_unknown_exception [0.035769s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_reboot_ok [1.033890s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_invalid_state [0.033073s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_set_power_on_with_next_boot_timeout [0.035369s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_IPMI_version_1_5 [0.013471s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_exception [0.013629s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_invalid_ipmi_prot_version [0.012301s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_hex_kg_key [0.012198s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_with_dual_bridging_not_supported [0.012881s] ... ok {14} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console_fail_nodir [0.035490s] ... ok {14} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_fast_track [0.044128s] ... ok {14} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_prepare_node_deploying_storage_should_write_false [0.052573s] ... ok {14} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down [0.059918s] ... ok {14} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_tear_down_with_smartnic_port [0.061853s] ... ok {14} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_do_agent_iscsi_deploy_okay [0.047050s] ... ok {14} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_verify_iscsi_connection_raises [0.005336s] ... ok {14} ironic.tests.unit.drivers.modules.test_noop.NoInterfacesTestCase.test_vendor [0.004658s] ... ok {14} ironic.tests.unit.drivers.modules.test_pxe.PXERamdiskDeployTestCase.test_deploy_with_smartnic_port [0.140267s] ... ok {14} ironic.tests.unit.drivers.modules.test_pxe.iPXEBootRetryTestCase.test_check_boot_status_retry [0.037159s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test___init__ [0.013648s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set [0.035198s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_snmp_objects [0.007617s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_eaton_power_power_state_pending_off [0.007621s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_invalid_state [0.011745s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_timeout [0.009383s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_state_error [0.007608s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_snmp_failure [0.032842s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_cyberpower [0.006900s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_address [0.006563s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_missing_driver [0.006774s] ... ok {14} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_teltronix [0.006465s] ... ok {14} ironic.tests.unit.drivers.modules.xclarity.test_management.XClarityManagementDriverTestCase.test_set_boot_device [0.036484s] ... ok {14} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_reboot_timeout [0.033918s] ... ok {14} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power [0.034028s] ... ok {14} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_timeout [0.035951s] ... ok {14} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_all_args [0.004497s] ... ok /usr/lib/python3.6/site-packages/oslo_versionedobjects/fields.py:376: 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:376: 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:376: 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:376: 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) 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. {14} ironic.tests.unit.drivers.test_drac.IDRACHardwareTestCase.test_override_with_inspector [0.035808s] ... ok {14} ironic.tests.unit.drivers.test_ilo.Ilo5HardwareTestCase.test_override_raid [0.050401s] ... ok {14} ironic.tests.unit.drivers.test_utils.UtilsTestCase.test_capabilities_not_string [0.010074s] ... ok {14} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_refresh [0.007728s] ... ok {14} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_missing [0.007151s] ... ok {14} ironic.tests.unit.objects.test_conductor.TestConductorObject.test_save [0.007063s] ... ok {14} ironic.tests.unit.objects.test_deploy_template.TestDeployTemplateObject.test_list_by_names [0.007473s] ... ok {14} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_allocation_id_unsupported_set_no_remove_non_default [0.006840s] ... ok {14} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_lessee_supported_missing [0.007089s] ... ok {14} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.006696s] ... ok {14} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_unsupported_set_remove [0.007009s] ... ok {14} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_protected_supported_missing [0.006704s] ... ok {14} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_missing [0.008758s] ... ok {14} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_retired_unsupported_set_no_remove_non_default [0.006713s] ... ok {14} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_mask_secrets_no_secrets [0.004383s] ... ok {14} ironic.tests.unit.objects.test_objects.TestObject.test_changed_2 [0.004390s] ... ok {14} ironic.tests.unit.objects.test_objects.TestObject.test_changes_in_primitive [0.004715s] ... ok {14} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_newer_version_passes_revision [0.005182s] ... ok {14} ironic.tests.unit.objects.test_port.TestPortObject.test_list [0.007217s] ... ok {14} ironic.tests.unit.objects.test_portgroup.TestConvertToVersion.test_vif_in_extra_in_internal_info [0.006530s] ... ok {14} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_create [0.007168s] ... ok {14} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_save_after_refresh [0.015047s] ... ok {14} ironic.tests.unit.objects.test_volume_target.TestVolumeTargetObject.test_get_by_id [0.007366s] ... ok 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-48fab6a6-f71f-4364-8834-58e656dce355 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': '/node_uuid', 'value': 123, 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-4096d163-0025-45b8-82a6-fc1830aec979 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"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-fd4de0c7-fcb6-406f-be9a-95b39477da99 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': {}, 'node_uuid': 123} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-954c7c2d-aa3d-469f-8e99-4f06d5a69498 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID but received 123.\", \"debuginfo\": null}"} 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-be6fc2ad-5f42-4075-ad04-ab2266bee6e8 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Unknown argument: \\\"detail\\\"\", \"debuginfo\": 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-40eed93e-3ed4-43e9-8f18-141f94c0fa42 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Expected a UUID for node_uuid, but received 123.\", \"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-5d4ad39a-1366-4198-88e3-0b179bd8beb3 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Invalid input for field/attribute volume_type. Value: 'None'. Mandatory field missing.\", \"debuginfo\": null}"} GET: /v1/nodes/1be26c0b-03f2-4d2e-ae87-c02d7f33c123 {} GOT:Response: 403 Forbidden Content-Type: application/json Openstack-Request-Id: req-14668f76-55d5-462d-8610-542bb71e801d X-Openstack-Ironic-Api-Maximum-Version: 1.68 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: / {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-5f4c7d33-e918-4b1c-bdd6-3876501f8af6 {"name": "OpenStack Ironic API", "description": "Ironic is an OpenStack project which aims to provision baremetal machines.", "default_version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.68"}, "versions": [{"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.68"}]} GET: /v1 {} GOT:Response: 200 OK Content-Type: application/json Openstack-Request-Id: req-904844ae-131c-42c1-89c3-2cf35533e840 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}, {"href": "https://docs.openstack.org//ironic/latest/contributor//webapi.html", "rel": "describedby", "type": "text/html"}], "media_types": {"base": "application/json", "type": "application/vnd.openstack.ironic.v1+json"}, "chassis": [{"href": "http://localhost/v1/chassis/", "rel": "self"}, {"href": "http://localhost/chassis/", "rel": "bookmark"}], "nodes": [{"href": "http://localhost/v1/nodes/", "rel": "self"}, {"href": "http://localhost/nodes/", "rel": "bookmark"}], "ports": [{"href": "http://localhost/v1/ports/", "rel": "self"}, {"href": "http://localhost/ports/", "rel": "bookmark"}], "drivers": [{"href": "http://localhost/v1/drivers/", "rel": "self"}, {"href": "http://localhost/drivers/", "rel": "bookmark"}], "version": {"id": "v1", "links": [{"href": "http://localhost/v1/", "rel": "self"}], "status": "CURRENT", "min_version": "1.1", "version": "1.68"}} 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-a3d73b27-2547-4c28-aedf-78199627c32f {"error_message": "{\"faultcode\":\"Server\",\"faultstring\":\"Test exception message.\",\"debuginfo\":null}"} [, , , ] foo() migrated 15 of 15 objects. func1() migrated 10 of 10 objects. func1() migrated 0 of 0 objects. func2() migrated 0 of 0 objects. {11} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_reboot_timeout [3.046973s] ... ok {11} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test__prepare_for_read_raid_create_raid_cleaning [0.058606s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_invalid [0.034190s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_get_properties [0.029387s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_ramdisk_pxe_conf_missing [0.062546s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_power.IloPowerInternalMethodsTestCase.test__set_power_state_soft_power_off_ok [2.040269s] ... ok {4} ironic.tests.unit.drivers.modules.ilo.test_raid.Ilo5RAIDTestCase.test_delete_configuration_no_logical_drive_cleaning [0.048029s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_false [0.070338s] ... ok {4} ironic.tests.unit.drivers.modules.intel_ipmi.test_management.IntelIPMIManagementTestCase.test_configure_intel_speedselect [0.033620s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootTestCase.test_prepare_ramdisk_with_backup_bios [0.043542s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__attach_virtual_cd_fail [0.034430s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_glance_ok [0.010837s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__parse_instance_info_with_boot_iso_https_ok [0.011289s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_instance_with_secure_boot [0.042253s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__prepare_boot_iso_fetch_ok [0.050103s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCDeployPrivateMethodsTestCase.test__remove_share_file [0.011557s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_prepare_instance [0.065498s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCValidateParametersTestCase.test_parse_driver_info_invalid_timeout [0.011109s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_instance_netboot [0.047006s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_bool_false [0.068624s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_force_persistent_boot_device_true [0.063565s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_existing_cap_in_props [0.215570s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCPXEBootBasicTestCase.test_prepare_ramdisk_rescue [0.065375s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_prepare_ramdisk_glance_image_cleaning [0.056509s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_with_power_off [0.093639s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootTestCase.test_validate_rescue_no_rescue_ramdisk [0.033066s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_management.IRMCManagementFunctionsTestCase.test__restore_bios_config_failed [0.034299s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_no_physical_id [0.057228s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_power.IRMCPowerInternalMethodsTestCase.test__set_power_state_power_on_ok [0.029741s] ... ok {11} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_insufficient [0.027282s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test_get_free_port_like_object_vif_attached_to_port [0.036138s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_extra_portgroup [0.018111s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test__clear_vif_from_port_like_obj_in_internal_info_port [0.017821s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_extra [0.038560s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test_vif_detach [0.035701s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_iscsi_connector_too_large_netmask [0.229657s] ... ok {11} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_add_provisioning_network_from_node [0.069243s] ... ok {11} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__eject_vmedia_specific [0.029449s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_boot.IRMCVirtualMediaBootWithVolumeTestCase.test_validate_no_physical_id_in_lan_port [0.057091s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_common.IRMCCommonMethodsTestCase.test_get_irmc_client [0.010743s] ... ok {11} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_clean_up_instance_cdrom_and_floppy [0.034839s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_inspect.IRMCInspectTestCase.test_inspect_hardware_props_pci_gpu_devices_return_zero [0.030961s] ... ok {11} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__check_node_firmware_update_still_waiting [0.039386s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_periodic_task.iRMCPeriodicTaskTestCase.test__query_raid_config_fgi_status_with_complete_cleaning [0.026020s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test___fail_validation_without_raid_level [0.027448s] ... ok {11} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__continue_firmware_updates_wait [0.040691s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_not_enough_disks [0.027522s] ... ok {4} ironic.tests.unit.drivers.modules.irmc.test_raid.IRMCRaidConfigurationInternalMethodsTestCase.test__fail_validation_with_physical_disk_outside_valid_slots_2 [0.030685s] ... ok {11} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_fail [0.057743s] ... ok {11} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_auth_auto [0.030377s] ... ok {11} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_get_update_service [0.010092s] ... ok {4} ironic.tests.unit.drivers.modules.network.test_common.TestCommonFunctions.test__get_free_portgroups_and_ports_no_matching_uuid [0.053408s] ... ok {11} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_invalid_auth_type [0.010571s] ... ok {11} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_parse_driver_info_path_verify_ca [0.012910s] ... ok {4} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_nostandalone_ports_novif_pxe_ports [0.036745s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_bad_command_result2 [0.032141s] ... ok {4} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_update_portgroup_standalone_ports_vif_pxe_ports [0.036316s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_boot_from_volume [0.057963s] ... ok {4} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_attach_with_physnet [0.040810s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_cleaning [0.035961s] ... ok {4} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_active_node_failure [0.041992s] ... ok {4} ironic.tests.unit.drivers.modules.network.test_common.TestNeutronVifPortIDMixin.test_vif_detach_portgroup [0.036585s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_fast_track [0.052654s] ... ok {4} ironic.tests.unit.drivers.modules.network.test_common.TestVifPortIDMixin.test_vif_list_internal [0.038621s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare_with_neutron_net_exc_reraise [0.051005s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent.TestAgentMethods.test_validate_http_provisioning_not_http [0.010535s] ... ok {4} ironic.tests.unit.drivers.modules.network.test_flat.TestFlatInterface.test__unbind_flat_ports_portgroup [0.039755s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_with_prep [0.033417s] ... ok {4} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_configure_tenant_networks_with_portgroups_no_address [0.042383s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_action_oob_power_off [0.040499s] ... ok {4} ironic.tests.unit.drivers.modules.network.test_neutron.NeutronInterfaceTestCase.test_unconfigure_tenant_networks_portgroup_1 [0.034148s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_continue_deploy_second_run [0.048553s] ... ok {4} ironic.tests.unit.drivers.modules.redfish.test_bios.RedfishBiosTestCase.test_apply_conf_step_pre_reboot_cleaning [0.060786s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_not_in_core_deploy_step_polling [0.048208s] ... ok {4} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__eject_vmedia_everything [0.029497s] ... ok {4} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test__eject_vmedia_unknown [0.028496s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_in_core_deploy_step_in_other_step [0.038747s] ... ok {4} ironic.tests.unit.drivers.modules.redfish.test_boot.RedfishVirtualMediaBootTestCase.test_parse_driver_info_from_conf_rescue [0.028236s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent_base.StepMethodsTestCase.test_execute_clean_step_version_mismatch [0.033426s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_verify_internal [0.005472s] ... ok {4} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_failed_node_notfound [0.018777s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status_retries [0.005770s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_prepare_image_with_configdrive [0.005058s] ... ok {4} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test__query_firmware_update_status_node_notfound [0.019003s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot [0.055748s] ... ok {4} ironic.tests.unit.drivers.modules.redfish.test_management.RedfishManagementTestCase.test_set_boot_device_persistency [0.053225s] ... ok {11} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_validate [0.012231s] ... ok {11} ironic.tests.unit.drivers.modules.test_boot_mode_utils.GetBootModeTestCase.test_get_boot_mode_uefi [0.005082s] ... ok {11} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_get_shellinabox_console_url [0.006959s] ... ok {11} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test_start_shellinabox_console_nopid [0.012950s] ... ok {4} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_disabled_sessions_cache [0.033011s] ... ok {4} ironic.tests.unit.drivers.modules.redfish.test_utils.RedfishUtilsTestCase.test_ensure_session_reuse [0.029550s] ... ok {11} ironic.tests.unit.drivers.modules.test_deploy_utils.AgentMethodsTestCase.test_prepare_inband_cleaning [0.045013s] ... ok {11} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_boot_file_uefi_without_by_arch [0.006507s] ... ok {11} ironic.tests.unit.drivers.modules.test_deploy_utils.GetPxeBootConfigTestCase.test_get_pxe_config_template_cpu_not_in_by_arch [0.006380s] ... ok {11} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_invalid_preserve_ephemeral [0.010623s] ... ok {4} ironic.tests.unit.drivers.modules.storage.test_cinder.CinderInterfaceTestCase.test__generate_connector_iscsi_and_unknown [0.041416s] ... ok {11} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_valid_ephemeral_gb [0.009731s] ... ok {11} ironic.tests.unit.drivers.modules.test_deploy_utils.ParseInstanceInfoCapabilitiesTestCase.test_parse_instance_info_capabilities [0.004432s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test__create_configuration_final_registered_deploy [0.033401s] ... ok {11} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_force_raw [0.051467s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent.AgentRAIDTestCase.test_get_clean_steps [0.035466s] ... ok {11} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_is_iscsi_boot_false [0.031481s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_clean_up_no_manage_boot [0.039507s] ... ok {11} ironic.tests.unit.drivers.modules.test_deploy_utils.TestStorageInterfaceUtils.test_populate_storage_driver_internal_info_fc [0.056333s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent.AgentRescueTestCase.test_agent_rescue_with_smartnic_port [0.043026s] ... ok {11} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_master_path_if_stale_glance_img_not_cached [0.006710s] ... ok {11} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageHandlerTestCase.test_unpublish_image_swift [0.032592s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_deploy_fast_track [0.045695s] ... ok {11} ironic.tests.unit.drivers.modules.test_image_utils.RedfishImageUtilsTestCase.test_prepare_floppy_image [0.027000s] ... ok {11} ironic.tests.unit.drivers.modules.test_inspector.CommonFunctionsTestCase.test_get_callback_endpoint [0.010844s] ... ok {11} ironic.tests.unit.drivers.modules.test_inspector.InspectHardwareAbortTestCase.test_abort_error [0.011678s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_prepare [0.070351s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_set_boot_device_exec_failed [0.035455s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_invalid_root_device_hints [0.033387s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_fail_power_on [0.034392s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_validate_nonglance_image_no_checksum [0.041125s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_timeout_ok [0.035201s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__parse_driver_info_ipmi_prot_version_1_5 [0.011653s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent.TestAgentDeploy.test_write_image [0.044181s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console [0.035262s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_configure_local_boot_whole_disk_image [0.033936s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_start_console_with_port [0.033370s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_post_clean_step_hook [0.010687s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test_stop_console [0.032782s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent_base.AgentDeployMixinTest.test_tear_down_agent_power_off_fails [0.072207s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_glance_conn_problem [0.047627s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_fail_missing_deploy_kernel [0.029375s] ... ok {11} ironic.tests.unit.drivers.modules.test_ipxe.iPXEValidateRescueTestCase.test_validate_rescue_no_rescue_ramdisk [0.036138s] ... ok {11} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_validate_storage_should_write_image_false [0.027679s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent_base.HeartbeatMixinTest.test_heartbeat_records_fast_track [0.102684s] ... ok {11} ironic.tests.unit.drivers.modules.test_iscsi_deploy.PhysicalWorkTestCase.test_deploy_partition_image_with_ephemeral [0.009066s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_connect [0.005843s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test__command_fail_post [0.005657s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent_client.TestAgentClient.test_get_commands_status [0.011637s] ... ok {11} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_active [0.051717s] ... ok {4} ironic.tests.unit.drivers.modules.test_agent_power.AgentPowerTest.test_reboot_timeout [0.050795s] ... ok {4} ironic.tests.unit.drivers.modules.test_console_utils.ConsoleUtilsTestCase.test__stop_console [0.010457s] ... ok {11} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_netboot_missing_root_uuid [0.041518s] ... ok {4} ironic.tests.unit.drivers.modules.test_deploy_utils.GetSingleNicTestCase.test_get_single_nic_with_cleaning_vif_port_id [0.033271s] ... ok {4} ironic.tests.unit.drivers.modules.test_deploy_utils.InstanceInfoTestCase.test_parse_instance_info_missing_root_gb [0.010000s] ... ok {4} ironic.tests.unit.drivers.modules.test_deploy_utils.OtherFunctionTestCase.test_get_ironic_api_url_from_keystone [0.012389s] ... ok {4} ironic.tests.unit.drivers.modules.test_deploy_utils.SwitchPxeConfigTestCase.test_switch_pxe_config_whole_disk_image [0.005028s] ... ok {11} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_conflicting_boot_modes [0.059052s] ... ok {4} ironic.tests.unit.drivers.modules.test_deploy_utils.TestBuildInstanceInfoForHttpProvisioning.test_build_instance_info_local_image_via_dinfo [0.050437s] ... ok {4} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_invalid_image_href [0.006515s] ... ok {4} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateImagePropertiesTestCase.test_validate_image_properties_nonglance_image [0.010969s] ... ok {4} ironic.tests.unit.drivers.modules.test_deploy_utils.ValidateParametersTestCase.test__get_img_instance_info_non_glance_image_missing_kernel [0.010021s] ... ok {4} ironic.tests.unit.drivers.modules.test_image_cache.TestFetchCleanup.test__fetch [0.007705s] ... ok {11} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_ramdisk_set_boot_mode_on_ironic [0.080114s] ... ok {4} ironic.tests.unit.drivers.modules.test_image_cache.TestImageCacheCleanUp.test_cleanup_ordering [0.004665s] ... ok {4} ironic.tests.unit.drivers.modules.test_image_cache.TestUpdateImages.test__delete_dest_path_if_stale_up_to_date [0.005678s] ... ok {11} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_deploy_ramdisk [0.027767s] ... ok {4} ironic.tests.unit.drivers.modules.test_inspector.CheckStatusTestCase.test_status_boot_clean_up_failed [0.036109s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolCheckInitTestCase.test_power_init_calls_raises_1 [0.006088s] ... ok {11} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_port [0.030724s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_management_interface_get_boot_device_fail [0.033689s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_err_engine [0.034319s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolDriverTestCase.test_reboot_ok [0.035545s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_set_err_engine [0.035670s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__exec_ipmitool_with_timing [0.013405s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_apc_power_state_off [0.007654s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_cyberpower_power_reset [0.008074s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_error [0.012712s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_timeout [0.008775s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test__power_status_on [0.012410s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_off_snmp_get_failure [0.008058s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_delay [0.008861s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolPrivateMethodTestCase.test_exec_ipmitool_exception_retry_timeout [0.016192s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_timeout [0.035182s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolShellinaboxTestCase.test__start_console_fail_nodir [0.032598s] ... ok {11} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_v3_auth_key_proto [0.006419s] ... ok {11} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_arg_description_invalid [0.004429s] ... ok {11} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test_clean_step_bad_argsinfo [0.005361s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipmitool.IPMIToolSocatDriverTestCase.test__start_console [0.033742s] ... ok {11} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_console_interface [0.030299s] ... ok {11} ironic.tests.unit.drivers.test_irmc.IRMCHardwareTestCase.test_override_with_inspector [0.033602s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_instance_netboot_active [0.052078s] ... ok {11} ironic.tests.unit.drivers.test_snmp.SNMPHardwareTestCase.test_fake_management [0.033698s] ... ok {11} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_collect_ramdisk_logs_storage_fail_fs [0.006844s] ... ok {11} ironic.tests.unit.drivers.test_utils.UtilsRamdiskLogsTestCase.test_get_ramdisk_logs_file_name [0.005358s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_ipxe_swift [0.064373s] ... ok {11} ironic.tests.unit.drivers.test_xclarity.XClarityHardwareTestCase.test_default_interfaces [0.030987s] ... ok {11} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_create [0.007142s] ... ok {11} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_payload_schemas [0.006128s] ... ok {11} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_automated_clean_supported_missing [0.007173s] ... ok {11} ironic.tests.unit.objects.test_objects.TestObjectSerializer.test_deserialize_entity_pin_ignored [0.004918s] ... ok {11} ironic.tests.unit.objects.test_objects.TestRegistry.test_hook_chooses_newer_properly [0.041128s] ... ok {11} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_physnet_unsupported_set_remove [0.006320s] ... ok {11} ironic.tests.unit.objects.test_trait.TestTraitObject.test_as_dict [0.006158s] ... ok {4} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_prepare_ramdisk_set_default_boot_mode_on_ironic_uefi [0.085795s] ... ok GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-8eb45557-82db-450d-ab6f-e5d93e87b520 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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-39a3831e-9a94-4f21-8ae6-d21cfe9f967d X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:32.218078+00:00", "updated_at": null} POST: /v1/volume/connectors {'uuid': '977dcf1f-7849-4323-86fe-d66b3c8339e2', '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-5bcf2820-9887-4d1e-96ab-94abf33c96b9 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"A volume connector with type iqn and connector ID test-connector-id-456 already exists.\", \"debuginfo\": null}"} GET: /v1/chassis {} GOT:Response: 401 Unauthorized Content-Type: application/json Www-Authenticate: Basic realm="Baremetal API" {"error":{"message":"Authorization required","code":401}} DELETE: /v1/ GOT:Response: 405 Method Not Allowed Content-Type: application/json Openstack-Request-Id: req-fea3d529-ad5a-4b65-8e88-9f9b617358b4 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.1 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"The server could not comply with the request since it is either malformed or otherwise incorrect.\", \"debuginfo\": null}"} {4} ironic.tests.unit.drivers.modules.test_ipxe.iPXEBootTestCase.test_validate_good_whole_disk_image [0.029135s] ... ok {4} ironic.tests.unit.drivers.modules.test_iscsi_deploy.ISCSIDeployTestCase.test_write_image [0.054127s] ... ok {4} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_continue_deploy_fail_empty_root_uuid [0.078542s] ... ok {4} ironic.tests.unit.drivers.modules.test_iscsi_deploy.IscsiDeployMethodsTestCase.test_get_deploy_info_whole_disk_image [0.010098s] ... ok {4} ironic.tests.unit.drivers.modules.test_pxe.PXEBootRetryTestCase.test_check_boot_timeouts [0.032977s] ... ok {4} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_prepare_instance_whole_disk_image_missing_root_uuid [0.042197s] ... ok {4} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_missing_image_source [0.027738s] ... ok {4} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_fail_no_image_kernel_ramdisk_props [0.030459s] ... ok {4} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_good [0.028168s] ... ok {4} ironic.tests.unit.drivers.modules.test_pxe.PXEBootTestCase.test_validate_inspection_no_inspection_ramdisk [0.040107s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPClientTestCase.test_get_next [0.034341s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_auto_power_state_on [0.010605s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_off_snmp_set_failure [0.010026s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPDeviceDriverTestCase.test_power_reset_on_snmp_set_failure [0.007987s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_get_properties [0.032251s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_reboot_snmp_failure [0.032340s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPDriverTestCase.test_set_power_state_on_error [0.032432s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_invalid_version [0.006617s] ... ok {4} ironic.tests.unit.drivers.modules.test_snmp.SNMPValidateParametersTestCase.test__parse_driver_info_snmp_port_default [0.006437s] ... ok {4} ironic.tests.unit.drivers.modules.xclarity.test_power.XClarityPowerDriverTestCase.test_set_power_fail [0.035492s] ... ok {4} ironic.tests.unit.drivers.test_base.CleanStepDecoratorTestCase.test__validate_argsinfo_not_dict [0.004661s] ... ok {4} ironic.tests.unit.drivers.test_base.DeployStepDecoratorTestCase.test_deploy_step_bad_argsinfo [0.005208s] ... ok {4} ironic.tests.unit.drivers.test_fake_hardware.FakeHardwareTestCase.test_management_interface_get_supported_boot_devices [0.030819s] ... ok {4} ironic.tests.unit.objects.test_allocation.TestAllocationObject.test_payload_schemas [0.006374s] ... ok {4} ironic.tests.unit.objects.test_allocation.TestConvertToVersion.test_owner_unsupported_set_no_remove_non_default [0.006289s] ... ok {4} ironic.tests.unit.objects.test_bios.TestBIOSSettingObject.test_list_delete [0.007400s] ... ok {4} ironic.tests.unit.objects.test_chassis.TestChassisObject.test_create [0.007131s] ... ok {4} ironic.tests.unit.objects.test_deployment.TestDeploymentObject.test_get_by_uuid [0.014303s] ... ok {4} ironic.tests.unit.objects.test_fields.TestMacAddressField.test_coerce_bad_values [0.004407s] ... ok {4} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_conductor_group_supported_set [0.007182s] ... ok {4} ironic.tests.unit.objects.test_node.TestConvertToVersion.test_owner_supported_set [0.006725s] ... ok {4} ironic.tests.unit.objects.test_node.TestNodePayloads.test_node_payload [0.006751s] ... ok {4} ironic.tests.unit.objects.test_notification.TestNotificationBase.test_event_type_with_status [0.004728s] ... ok {4} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_is_smartnic_unsupported_set_remove [0.006321s] ... ok {4} ironic.tests.unit.objects.test_port.TestConvertToVersion.test_vif_in_extra_not_in_extra [0.006252s] ... ok {4} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_get_bad_id_and_uuid_and_address_and_name [0.006500s] ... ok {4} ironic.tests.unit.objects.test_portgroup.TestPortgroupObject.test_payload_schemas [0.006245s] ... ok {4} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_destroy [0.008675s] ... ok {4} ironic.tests.unit.objects.test_volume_connector.TestVolumeConnectorObject.test_list_by_node_id [0.009549s] ... ok {4} ironic.tests.unit.test_base.DontBlockExecuteTestCase.test_no_exception_raised_for_execute [0.006008s] ... ok 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-c07a56f9-1e73-4c24-b322-1e41d8a383c6 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Cannot create portgroup with invalid name 'aa:bb_cc'\", \"debuginfo\": null}"} 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\": \"\"}"} GET: /v1/volume/connectors?fields=uuid,extra {} GOT:{'connectors': [{'uuid': 'dfb32925-cd92-4a9f-906b-4b94a1a3887b', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/dfb32925-cd92-4a9f-906b-4b94a1a3887b', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/dfb32925-cd92-4a9f-906b-4b94a1a3887b', 'rel': 'bookmark'}]}, {'uuid': '131af317-20ea-41e2-8a00-cab71aa5b3f2', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/131af317-20ea-41e2-8a00-cab71aa5b3f2', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/131af317-20ea-41e2-8a00-cab71aa5b3f2', 'rel': 'bookmark'}]}, {'uuid': '82eb8924-6fec-49d8-814a-f1fe3ea0ab13', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/82eb8924-6fec-49d8-814a-f1fe3ea0ab13', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/82eb8924-6fec-49d8-814a-f1fe3ea0ab13', 'rel': 'bookmark'}]}], 'next': 'http://localhost/v1/volume/connectors?sort_key=id&sort_dir=asc&fields=uuid,extra&limit=3&marker=82eb8924-6fec-49d8-814a-f1fe3ea0ab13'} GET: /v1/volume/connectors?fields=uuid,extra {} GOT:{'connectors': [{'uuid': 'ec7f0db6-b109-40dd-95f6-17b1662bfd07', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/ec7f0db6-b109-40dd-95f6-17b1662bfd07', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ec7f0db6-b109-40dd-95f6-17b1662bfd07', 'rel': 'bookmark'}]}, {'uuid': 'ac63b196-c79e-4c70-a9c3-1cf2ceb93641', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/ac63b196-c79e-4c70-a9c3-1cf2ceb93641', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/ac63b196-c79e-4c70-a9c3-1cf2ceb93641', 'rel': 'bookmark'}]}, {'uuid': '6070755c-11f7-43f1-b803-7cbac478af92', 'extra': {}, 'links': [{'href': 'http://localhost/v1/volume/connectors/6070755c-11f7-43f1-b803-7cbac478af92', 'rel': 'self'}, {'href': 'http://localhost/volume/connectors/6070755c-11f7-43f1-b803-7cbac478af92', 'rel': 'bookmark'}]}]} 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-c74e09eb-7b7e-4d0b-be7a-4a29743b539e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': '/node_uuid', 'value': '12506333-a81c-4d59-9987-889ed5f8687b', 'op': 'replace'}] GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-e1060d87-130c-44db-b628-ec431ca25e6e X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"error_message": "{\"faultcode\": \"Client\", \"faultstring\": \"Node 12506333-a81c-4d59-9987-889ed5f8687b 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': '1a1a1a1a-2b2b-3c3c-4d4d-5e5e5e5e5e5e'} GOT:Response: 400 Bad Request Content-Type: application/json Openstack-Request-Id: req-36e395e3-409f-457d-baa0-6f1535c55ea0 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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': {}, '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-7c1a39b4-b3f9-4f0d-9569-7a36974a45a5 X-Openstack-Ironic-Api-Maximum-Version: 1.68 X-Openstack-Ironic-Api-Minimum-Version: 1.1 X-Openstack-Ironic-Api-Version: 1.68 {"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": "2021-01-19T06:02:50.362345+00:00", "updated_at": null} {'deployment_ari_path': 'http://192.1.2.3:1234/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_ramdisk', 'pxe_append_params': 'test_param ipa-global-request-id=req-0f741ec1-832f-4ba1-a7fb-b630563d8aea', 'deployment_aki_path': 'http://192.1.2.3:1234/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_kernel', 'tftp_server': '127.0.0.1', 'ipxe_timeout': 0, 'ari_path': 'no_ramdisk', 'aki_path': 'no_kernel', 'initrd_filename': 'deploy_ramdisk'} {'deploy_kernel': ('deploy_kernel', '/tmp/tmpsgo0sihs/tmp39fzqr_k/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_kernel'), 'deploy_ramdisk': ('deploy_ramdisk', '/tmp/tmpsgo0sihs/tmp39fzqr_k/1be26c0b-03f2-4d2e-ae87-c02d7f33c123/deploy_ramdisk')} ====== Totals ====== Ran: 6677 tests in 45.6520 sec. - Passed: 6665 - Skipped: 12 - Expected Fail: 0 - Unexpected Success: 0 - Failed: 0 Sum of execute time for each test: 502.7685 sec. ============== Worker Balance ============== - Worker 0 (334 tests) => 0:00:23.545389 - Worker 1 (334 tests) => 0:00:21.066700 - Worker 2 (334 tests) => 0:00:23.297152 - Worker 3 (334 tests) => 0:00:30.572913 - Worker 4 (334 tests) => 0:00:45.652046 - Worker 5 (334 tests) => 0:00:31.082507 - Worker 6 (334 tests) => 0:00:24.566341 - Worker 7 (334 tests) => 0:00:27.174780 - Worker 8 (334 tests) => 0:00:24.951219 - Worker 9 (334 tests) => 0:00:31.850180 - Worker 10 (334 tests) => 0:00:26.227690 - Worker 11 (334 tests) => 0:00:44.748751 - Worker 12 (334 tests) => 0:00:26.526193 - Worker 13 (334 tests) => 0:00:29.435087 - Worker 14 (334 tests) => 0:00:40.729206 - Worker 15 (334 tests) => 0:00:31.645270 - Worker 16 (334 tests) => 0:00:32.914241 - Worker 17 (333 tests) => 0:00:28.736511 - Worker 18 (333 tests) => 0:00:29.764412 - Worker 19 (333 tests) => 0:00:38.029802 + exit 0 Processing files: openstack-ironic-common-16.0.3-1.el8.noarch warning: File not found: /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/lib/python3.6/site-packages/ironic_tests.egg_info Executing(%doc): /bin/sh -e /var/tmp/rpm-tmp.vCsKHw + umask 022 + cd /builddir/build/BUILD + cd ironic-16.0.3 + DOCDIR=/builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/share/doc/openstack-ironic-common + export LC_ALL=C + LC_ALL=C + export DOCDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/share/doc/openstack-ironic-common + cp -pr README.rst /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/share/doc/openstack-ironic-common + exit 0 Executing(%license): /bin/sh -e /var/tmp/rpm-tmp.eZds6a + umask 022 + cd /builddir/build/BUILD + cd ironic-16.0.3 + LICENSEDIR=/builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/share/licenses/openstack-ironic-common + export LC_ALL=C + LC_ALL=C + export LICENSEDIR + /usr/bin/mkdir -p /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/share/licenses/openstack-ironic-common + cp -pr LICENSE /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch/usr/share/licenses/openstack-ironic-common + exit 0 Provides: config(openstack-ironic-common) = 1:16.0.3-1.el8 openstack-ironic-common = 1:16.0.3-1.el8 python3.6dist(ironic) = 16.0.3 python3dist(ironic) = 16.0.3 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 Recommends: ipmitool python3-dracclient >= 5.1.0 python3-proliantutils >= 2.10.0 python3-pysnmp >= 4.3.0 python3-scciclient >= 0.8.0 python3-sushy >= 3.4.0 Suggests: python3-oslo-i18n >= 3.15.3 python3-oslo-reports >= 1.18.0 Processing files: openstack-ironic-api-16.0.3-1.el8.noarch Provides: openstack-ironic-api = 1:16.0.3-1.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-16.0.3-1.el8.noarch Provides: openstack-ironic-conductor = 1:16.0.3-1.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-16.0.3-1.el8.noarch Provides: python3-ironic-tests = 1:16.0.3-1.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-16.0.3-1.el8.noarch Wrote: /builddir/build/RPMS/openstack-ironic-common-16.0.3-1.el8.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-api-16.0.3-1.el8.noarch.rpm Wrote: /builddir/build/RPMS/openstack-ironic-conductor-16.0.3-1.el8.noarch.rpm Wrote: /builddir/build/RPMS/python3-ironic-tests-16.0.3-1.el8.noarch.rpm Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.XSmAgR + umask 022 + cd /builddir/build/BUILD + cd ironic-16.0.3 + /usr/bin/rm -rf /builddir/build/BUILDROOT/openstack-ironic-16.0.3-1.el8.noarch + exit 0 Child return code was: 0